diff --git a/CHANGELOG.md b/CHANGELOG.md index b8f5bced972..d3532ebe640 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,15 +16,18 @@ * **Prometheus**: Add $interval, $interval_ms, $range, and $range_ms support for dashboard and template queries [#12597](https://github.com/grafana/grafana/issues/12597) * **Variables**: Skip unneeded extra query request when de-selecting variable values used for repeated panels [#8186](https://github.com/grafana/grafana/issues/8186), thx [@mtanda](https://github.com/mtanda) * **Postgres/MySQL/MSSQL**: Use floor rounding in $__timeGroup macro function [#12460](https://github.com/grafana/grafana/issues/12460), thx [@svenklemm](https://github.com/svenklemm) +* **Postgres/MySQL/MSSQL**: Use metric column as prefix when returning multiple value columns [#12727](https://github.com/grafana/grafana/issues/12727), thx [@svenklemm](https://github.com/svenklemm) * **MySQL/MSSQL**: Use datetime format instead of epoch for $__timeFilter, $__timeFrom and $__timeTo macros [#11618](https://github.com/grafana/grafana/issues/11618) [#11619](https://github.com/grafana/grafana/issues/11619), thx [@AustinWinstanley](https://github.com/AustinWinstanley) * **Postgres**: Escape ssl mode parameter in connectionstring [#12644](https://github.com/grafana/grafana/issues/12644), thx [@yogyrahmawan](https://github.com/yogyrahmawan) * **Github OAuth**: Allow changes of user info at Github to be synched to Grafana when signing in [#11818](https://github.com/grafana/grafana/issues/11818), thx [@rwaweber](https://github.com/rwaweber) * **Alerting**: Fix diff and percent_diff reducers [#11563](https://github.com/grafana/grafana/issues/11563), thx [@jessetane](https://github.com/jessetane) * **Units**: Polish złoty currency [#12691](https://github.com/grafana/grafana/pull/12691), thx [@mwegrzynek](https://github.com/mwegrzynek) * **Cloudwatch**: Improved error handling [#12489](https://github.com/grafana/grafana/issues/12489), thx [@mtanda](https://github.com/mtanda) +* **Cloudwatch**: AWS/AppSync metrics and dimensions [#12300](https://github.com/grafana/grafana/issues/12300), thx [@franciscocpg](https://github.com/franciscocpg) * **Table**: Adjust header contrast for the light theme [#12668](https://github.com/grafana/grafana/issues/12668) * **Elasticsearch**: For alerting/backend, support having index name to the right of pattern in index pattern [#12731](https://github.com/grafana/grafana/issues/12731) * **OAuth**: Fix overriding tls_skip_verify_insecure using environment variable [#12747](https://github.com/grafana/grafana/issues/12747), thx [@jangaraj](https://github.com/jangaraj) +* **Units**: Change units to include characters for power of 2 and 3 [#12744](https://github.com/grafana/grafana/pull/12744), thx [@Worty](https://github.com/Worty) # 5.2.2 (2018-07-25) diff --git a/pkg/tsdb/cloudwatch/metric_find_query.go b/pkg/tsdb/cloudwatch/metric_find_query.go index 136ee241c2e..12c2aba4681 100644 --- a/pkg/tsdb/cloudwatch/metric_find_query.go +++ b/pkg/tsdb/cloudwatch/metric_find_query.go @@ -86,6 +86,7 @@ func init() { "AWS/Kinesis": {"GetRecords.Bytes", "GetRecords.IteratorAge", "GetRecords.IteratorAgeMilliseconds", "GetRecords.Latency", "GetRecords.Records", "GetRecords.Success", "IncomingBytes", "IncomingRecords", "PutRecord.Bytes", "PutRecord.Latency", "PutRecord.Success", "PutRecords.Bytes", "PutRecords.Latency", "PutRecords.Records", "PutRecords.Success", "ReadProvisionedThroughputExceeded", "WriteProvisionedThroughputExceeded", "IteratorAgeMilliseconds", "OutgoingBytes", "OutgoingRecords"}, "AWS/KinesisAnalytics": {"Bytes", "MillisBehindLatest", "Records", "Success"}, "AWS/Lambda": {"Invocations", "Errors", "Duration", "Throttles", "IteratorAge"}, + "AWS/AppSync": {"Latency", "4XXError", "5XXError"}, "AWS/Logs": {"IncomingBytes", "IncomingLogEvents", "ForwardedBytes", "ForwardedLogEvents", "DeliveryErrors", "DeliveryThrottling"}, "AWS/ML": {"PredictCount", "PredictFailureCount"}, "AWS/NATGateway": {"PacketsOutToDestination", "PacketsOutToSource", "PacketsInFromSource", "PacketsInFromDestination", "BytesOutToDestination", "BytesOutToSource", "BytesInFromSource", "BytesInFromDestination", "ErrorPortAllocation", "ActiveConnectionCount", "ConnectionAttemptCount", "ConnectionEstablishedCount", "IdleTimeoutCount", "PacketsDropCount"}, @@ -135,6 +136,7 @@ func init() { "AWS/Kinesis": {"StreamName", "ShardId"}, "AWS/KinesisAnalytics": {"Flow", "Id", "Application"}, "AWS/Lambda": {"FunctionName", "Resource", "Version", "Alias"}, + "AWS/AppSync": {"GraphQLAPIId"}, "AWS/Logs": {"LogGroupName", "DestinationType", "FilterName"}, "AWS/ML": {"MLModelId", "RequestMode"}, "AWS/NATGateway": {"NatGatewayId"}, diff --git a/public/app/core/specs/kbn.jest.ts b/public/app/core/specs/kbn.jest.ts index 68945068043..9c62990615c 100644 --- a/public/app/core/specs/kbn.jest.ts +++ b/public/app/core/specs/kbn.jest.ts @@ -402,7 +402,7 @@ describe('duration', function() { describe('volume', function() { it('1000m3', function() { var str = kbn.valueFormats['m3'](1000, 1, null); - expect(str).toBe('1000.0 m3'); + expect(str).toBe('1000.0 m³'); }); }); diff --git a/public/app/core/utils/kbn.ts b/public/app/core/utils/kbn.ts index 4fc4829811f..c2764670b95 100644 --- a/public/app/core/utils/kbn.ts +++ b/public/app/core/utils/kbn.ts @@ -500,7 +500,7 @@ kbn.valueFormats.watt = kbn.formatBuilders.decimalSIPrefix('W'); kbn.valueFormats.kwatt = kbn.formatBuilders.decimalSIPrefix('W', 1); kbn.valueFormats.mwatt = kbn.formatBuilders.decimalSIPrefix('W', -1); kbn.valueFormats.kwattm = kbn.formatBuilders.decimalSIPrefix('W/Min', 1); -kbn.valueFormats.Wm2 = kbn.formatBuilders.fixedUnit('W/m2'); +kbn.valueFormats.Wm2 = kbn.formatBuilders.fixedUnit('W/m²'); kbn.valueFormats.voltamp = kbn.formatBuilders.decimalSIPrefix('VA'); kbn.valueFormats.kvoltamp = kbn.formatBuilders.decimalSIPrefix('VA', 1); kbn.valueFormats.voltampreact = kbn.formatBuilders.decimalSIPrefix('var'); @@ -572,9 +572,9 @@ kbn.valueFormats.accG = kbn.formatBuilders.fixedUnit('g'); // Volume kbn.valueFormats.litre = kbn.formatBuilders.decimalSIPrefix('L'); kbn.valueFormats.mlitre = kbn.formatBuilders.decimalSIPrefix('L', -1); -kbn.valueFormats.m3 = kbn.formatBuilders.fixedUnit('m3'); -kbn.valueFormats.Nm3 = kbn.formatBuilders.fixedUnit('Nm3'); -kbn.valueFormats.dm3 = kbn.formatBuilders.fixedUnit('dm3'); +kbn.valueFormats.m3 = kbn.formatBuilders.fixedUnit('m³'); +kbn.valueFormats.Nm3 = kbn.formatBuilders.fixedUnit('Nm³'); +kbn.valueFormats.dm3 = kbn.formatBuilders.fixedUnit('dm³'); kbn.valueFormats.gallons = kbn.formatBuilders.fixedUnit('gal'); // Flow @@ -605,14 +605,14 @@ kbn.valueFormats.radsvh = kbn.formatBuilders.decimalSIPrefix('Sv/h'); // Concentration kbn.valueFormats.ppm = kbn.formatBuilders.fixedUnit('ppm'); kbn.valueFormats.conppb = kbn.formatBuilders.fixedUnit('ppb'); -kbn.valueFormats.conngm3 = kbn.formatBuilders.fixedUnit('ng/m3'); -kbn.valueFormats.conngNm3 = kbn.formatBuilders.fixedUnit('ng/Nm3'); -kbn.valueFormats.conμgm3 = kbn.formatBuilders.fixedUnit('μg/m3'); -kbn.valueFormats.conμgNm3 = kbn.formatBuilders.fixedUnit('μg/Nm3'); -kbn.valueFormats.conmgm3 = kbn.formatBuilders.fixedUnit('mg/m3'); -kbn.valueFormats.conmgNm3 = kbn.formatBuilders.fixedUnit('mg/Nm3'); -kbn.valueFormats.congm3 = kbn.formatBuilders.fixedUnit('g/m3'); -kbn.valueFormats.congNm3 = kbn.formatBuilders.fixedUnit('g/Nm3'); +kbn.valueFormats.conngm3 = kbn.formatBuilders.fixedUnit('ng/m³'); +kbn.valueFormats.conngNm3 = kbn.formatBuilders.fixedUnit('ng/Nm³'); +kbn.valueFormats.conμgm3 = kbn.formatBuilders.fixedUnit('μg/m³'); +kbn.valueFormats.conμgNm3 = kbn.formatBuilders.fixedUnit('μg/Nm³'); +kbn.valueFormats.conmgm3 = kbn.formatBuilders.fixedUnit('mg/m³'); +kbn.valueFormats.conmgNm3 = kbn.formatBuilders.fixedUnit('mg/Nm³'); +kbn.valueFormats.congm3 = kbn.formatBuilders.fixedUnit('g/m³'); +kbn.valueFormats.congNm3 = kbn.formatBuilders.fixedUnit('g/Nm³'); // Time kbn.valueFormats.hertz = kbn.formatBuilders.decimalSIPrefix('Hz'); @@ -1021,7 +1021,7 @@ kbn.getUnitFormats = function() { { text: 'Watt (W)', value: 'watt' }, { text: 'Kilowatt (kW)', value: 'kwatt' }, { text: 'Milliwatt (mW)', value: 'mwatt' }, - { text: 'Watt per square metre (W/m2)', value: 'Wm2' }, + { text: 'Watt per square metre (W/m²)', value: 'Wm2' }, { text: 'Volt-ampere (VA)', value: 'voltamp' }, { text: 'Kilovolt-ampere (kVA)', value: 'kvoltamp' }, { text: 'Volt-ampere reactive (var)', value: 'voltampreact' }, @@ -1118,14 +1118,14 @@ kbn.getUnitFormats = function() { submenu: [ { text: 'parts-per-million (ppm)', value: 'ppm' }, { text: 'parts-per-billion (ppb)', value: 'conppb' }, - { text: 'nanogram per cubic metre (ng/m3)', value: 'conngm3' }, - { text: 'nanogram per normal cubic metre (ng/Nm3)', value: 'conngNm3' }, - { text: 'microgram per cubic metre (μg/m3)', value: 'conμgm3' }, - { text: 'microgram per normal cubic metre (μg/Nm3)', value: 'conμgNm3' }, - { text: 'milligram per cubic metre (mg/m3)', value: 'conmgm3' }, - { text: 'milligram per normal cubic metre (mg/Nm3)', value: 'conmgNm3' }, - { text: 'gram per cubic metre (g/m3)', value: 'congm3' }, - { text: 'gram per normal cubic metre (g/Nm3)', value: 'congNm3' }, + { text: 'nanogram per cubic metre (ng/m³)', value: 'conngm3' }, + { text: 'nanogram per normal cubic metre (ng/Nm³)', value: 'conngNm3' }, + { text: 'microgram per cubic metre (μg/m³)', value: 'conμgm3' }, + { text: 'microgram per normal cubic metre (μg/Nm³)', value: 'conμgNm3' }, + { text: 'milligram per cubic metre (mg/m³)', value: 'conmgm3' }, + { text: 'milligram per normal cubic metre (mg/Nm³)', value: 'conmgNm3' }, + { text: 'gram per cubic metre (g/m³)', value: 'congm3' }, + { text: 'gram per normal cubic metre (g/Nm³)', value: 'congNm3' }, ], }, ];