metricsext2 (2.2023.707.1428-bbd051) unstable; urgency=low

  * Fix string length calculation for error messages.
  * Fix out of boundary buffer read for corrupted metrics.
  * Add Prometheus normalization support which optionally enables conversion from OpenTelemetry metrics to Prometheus-compliant metrics.
  * Upgrade Windows certificate store manager to share certificate handles between HTTP clients.
  * Fix the refreshing of forking state for GIG pipeline when the endpoint configuration is parsed again.
  * Remove Troubleshooting directory from ME repository.

 -- Geneva Metrics Agent & SDKs team <metricsagentsdksteam2@microsoft.com>  Fri, 07 Jul 2023 00:00:00 -0000

metricsext2 (2.2023.609.2051-821f47) unstable; urgency=low

  * Change log level of message for investigations purposes on issue found in overlake.
  * Add milliseconds ingestion support for prom metrics. It's false by default and can be enabled with `enableMillisecondSupport` config overrides field.
  * Add exemplars support for Prometheus metrics.
  * Fix issue with missing internal metrics for machine account when no real metric was ingested for machine account and metric configuration expired.
  * Add performance improvements to the `set_dimension` transformation rule.
  * Add performance improvements to the `set_location_id` transformation rule.
  * Fix CodeQL code quality warnings.
  * Add implementation for getting the life time left of authentication when using token.
  * Fix bug in MdmDataCollection Windows script when table2csv.exe contains whitespaces in the path ([bug #22983093](https://msazure.visualstudio.com/One/_workitems/edit/22983093/)).
  * Fix changelog.py build command on Windows, which fails due to platform-specific use of datetime format.
  * Change internal metrics v2 schema to remove MetricsDroppedCount and MetricsPublishedCount, and add new internal metrics with unit types MetricEventsPublished, MetricAggregatesPublished, and others.
  * Fix config override name for enabling GIG QoS target.
  * Add GIG QoS machine/platform publication target (name: machinegigqos).

 -- Geneva Metrics Agent & SDKs team <metricsagentsdksteam2@microsoft.com>  Fri, 09 Jun 2023 00:00:00 -0000

metricsext2 (2.2023.513.10-4c35af) unstable; urgency=low

  * Remove `-Mdsd` command line argument which was deprecated previously. Use [Publishing metrics as logs in Linux through mdsd TCP Sockets](https://eng.ms/docs/products/geneva/metrics/metricsagentsdk/metricsaslogs) as a reference for publishing metrics as logs in Linux.
  * Fix [security bug #22030486](https://msazure.visualstudio.com/DefaultCollection/One/_workitems/edit/22030486) related to APSDK library by upgrading APSDK and removal of insecure VE authZ checks. This fixes issue for both windows/amd64 (upgrading APSDK from `21.11.13005` to `23.2.12007`), and windows/arm64 (upgrading APSDK from `21.11.15006` to `23.5.12002`).
  * Fix bug in populating resource domain for UsSec cloud environment.

 -- Geneva Metrics Agent & SDKs team <metricsagentsdksteam2@microsoft.com>  Sat, 13 May 2023 00:00:00 -0000

metricsext2 (2.2023.505.1124-45da18) unstable; urgency=low

  * Change internal metrics to reduce volume by not emitting "0" or other negligible values.
  * Add GIG QoS publication target for internal metrics, controlled by `EnableInternalMetricsGigQosTarget` configOverride parameter (default false).
  * Add discovery of GIG QoS publication endpoint via MDM API.
  * Add external MonMon QoS events redirection to GIG QoS pipeline.
  * Add new SLI internal metrics under MeErrorsCount with Type dimension `PublicationFailed` and Reason dimension values of `NoValidCertificate` or `UnknownHttpException`.
  * Add a distroless container image to the isolated ACR as part of our release process.
  * For Overlake:
    * Add necessary version info into extension-release file.
    * Add limitation for number of Malloc arenas to improve memory utilization.
  * Fix bug in DogstatsdProcessor causing drops of min/max and percentiles in sample-rate applied metrics ([bug #20975530](https://msazure.visualstudio.com/One/_workitems/edit/20975530)).
  * Add additional checks to control emission of internal metrics v2 and fix emissions when account configuration is not available.
  * Upgrade transformation rules to support metric rewriting.
  * Change HEAD of submodule GenevaMonAgent-Shared-CrossPlat from 5311c3ba41 to 5a8e2f95f1, retrieve Imds metadata using the library.
  * For Overlake:
  * Change app domain of `MetricsIngestedCount` with dimension {`protocol=any`} internal metric to Sli and move increment after applying the drop policy of out-dated metric configuration.
  * Add a new changelog entry manager to add, check and build changelog entries.
  * Add '*' to the banned monitoring account list.
  * Add CloseHandle for Job Object handles ([bug #18537384](https://msazure.visualstudio.com/One/_workitems/edit/18537384)).

 -- Geneva Metrics Agent & SDKs team <metricsagentsdksteam2@microsoft.com>  Fri, 05 May 2023 00:00:00 -0000

metricsext2 (2.2023.331.1521-399d45) unstable; urgency=low

  * Fix internal metrics dimensions not published to GIG QoS pipeline. ([bug #17623437](https://msazure.visualstudio.com/One/_workitems/edit/17623437)).
  * Disable brute force searches for CppRestUtil.exe and table2csv.exe in MdmDataCollection Windows.
  * Add GigGenevaMetricsEnvironment config override option to set environment value for GIG publications.
  * Change client aggregated metrics manifest to include exemplar data in the outgoing events.
  * Add JSON schema validation for [OtlpSourceConfig](https://eng.ms/docs/products/geneva/collect/metrics/mecollectotlp#configure-metricsextension) — this makes authoring and error checking in JSON configuration simpler. JSON schemas are available as part of MetricsExtension distribution (in `/usr/share/metricsext2/JsonSchema` on Linux and in `JsonSchema` on Windows), and in future they'll be also published separately.
  * Fix CppRestUtil for Windows that was crashing due to not including GRPC for compilation, which generated class definitions not matching the ones from ME library.
  * Change interval of client aggregated metric publication to MDSD endpoint on Linux to reduce the delay.
  * Add OutputDirectory command line parameter to MdmDataCollection Windows.
  * Change reserved OTLP account/namespace dimension names as `_microsoft_metrics_account` and `_microsoft_metrics_namespace`.
  * Add the possibilty to use a command line parameter to override the standard part of the location id emitted from ME.

 -- Geneva Metrics Agent & SDKs team <metricsagentsdksteam2@microsoft.com>  Fri, 31 Mar 2023 00:00:00 -0000

metricsext2 (2.2023.316.006-5d91fa) unstable; urgency=low

  * Add flags for skipping the collection of tsf logs and certificates in MdmDataCollection, also replace environment variables by command line parameters.
  * Fix error in detection of file version for MdmDataCollection Windows ([bug #17337070](https://msazure.visualstudio.com/One/_workitems/edit/17337070)).
  * Add information about the result of the previous metrics publication to ME-Request-Info header in the next publication.
  * Add `internalMetric2ProductionLevel` config override option to separately set the production level for ME internal metrics v2.
  * Add dimension count, name and value length validations to Statsd processor ([bug #16360593](https://msazure.visualstudio.com/One/_workitems/edit/16360593/)).
  * Add ServiceConfigLoader to read ServiceConfig files and use it for loading CommandLineArguments.
  * Fix bug overriding metric type with wrong value during parsing Ifx exemplars which causes sending wrong metric value ([bug #17487720](https://msazure.visualstudio.com/One/_workitems/edit/17487720/)).
  * Change the rule to add the location id as dimension to perform extra checks and treat `ext` key in a special way.
  * Change Ifx processor validation check to allow receiving Ifx exemplars for size greater than 512 bytes.

 -- Geneva Metrics Agent & SDKs team <metricsagentsdksteam2@microsoft.com>  Thu, 16 Mar 2023 00:00:00 -0000

metricsext2 (2.2023.224.2214-9b6a0c) unstable; urgency=low

  * Change and update memory limits in Backpressure for autodiscovery after ME has started.
  * Fix the documentation generated by ME command line as it was partially outdated.
  * Add missing parameters to Overlake start script ([bug #17171884](https://msazure.visualstudio.com/One/_workitems/edit/17171884)).
  * Add metrics configuration and command line parameters to initialize system metric scraping for Linux/Overlake.
  * Add `microsoft_metrics_account` and `microsoft_metrics_namespace` as dimensions which will be recognized specially to specify Geneva Metrics account and namespace in OTLP metric traffic.
  * Fix machine level GIG publication target (`machinegig`).
  * Fix potential memory leak occuring while decoding TLV formatted Ifx metric data ([bug #17183414](https://msazure.visualstudio.com/One/_workitems/edit/17183414)).
  * Add `set_location_id` transformation rule to allow adding a location id customizable through environment variables. **Breaking change**: Location id scheme changed from `ms-azloc` to `ms-loc`.
  * Fix bug that causes OTLP metric drops with invalid time reason ([bug #17262261](https://msazure.visualstudio.com/One/_workitems/edit/17262261)).
  * Fix wrongly encoded `number of exemplars` field, change it from `Base128-encoded unsigned int` to `Base128-encoded int` ([bug #17282007](https://msazure.visualstudio.com/One/_workitems/edit/17282007)).

 -- Geneva Metrics Agent & SDKs team <metricsagentsdksteam2@microsoft.com>  Fri, 24 Feb 2023 00:00:00 -0000

metricsext2 (2.2023.210.1608-70acef) unstable; urgency=low

  * Change internal metrics severity levels to match with MetricsExtension OOBE.
  * Fix publishing garbage internal metric values when the owner objects are deallocated ([bug #16892675](https://msazure.visualstudio.com/One/_workitems/edit/16892675/)).
  * Fix CppRestUtil for Linux that was crashing due to not including GRPC for compilation, which generated class definitions not matching the ones from ME library.
  * Add a new ConfigOverride parameter for improving the autodiscovery of memory limits.
  * Add networking failure reasons for metrics dropped due to old age if it is related to on-going networking issues in MetricsDroppedCount.
  * Add `PublicationFailedCount` internal metric to report publication errors due to networking failures.
  * Add ConfigOverride parameter documentation and a new command line argument `-ConfigOverridesHelp`.
  * Add environment variable `USE_DSMS_CERT` as alternative to using command line argument `-UseDsmsCertificate`.
  * Add platform internal metrics to GIG publication target (`machinegig`) and update Telemetry Events schema.
  * For Overlake:
    * Change limit on aggregation queue size. It was decreased to 50k to accommodate situation when stamp is not responsive.
    * Add interim GIG QoS endpoint discovery method for internal metrics MonMon publications.
  * Change the policy of internal metrics v2 to not to emit 0 values unless explicitly called (to reduce the number of time series for Internal Metrics v2).
  * Remove publication to GIG when GIG auth token is expired.
  * Fix certificates remaining as invalid even when the cert is still in the machine and not expired ([bug #16863319](https://msazure.visualstudio.com/One/_workitems/edit/16863319)).
  * Add SLI app domain for internal metrics v2.
  * Add support for ingesting OTLP metrics over HTTP.
  * Add support for ingesting OTLP metrics over ETW.
  * Fix bug that allows old metrics to get aggregated and then dropped late ([bug #16130263](https://msazure.visualstudio.com/One/_workitems/edit/16130263)).
  * Change default internal metrics v2 configuration to emit SLI app domain internal metrics to GIG QoS target.
  * Fix internal metrics for published metadata count ([bug #16396714](https://msazure.visualstudio.com/One/_workitems/edit/16396714)).

 -- Geneva Metrics Agent & SDKs team <metricsagentsdksteam2@microsoft.com>  Fri, 10 Feb 2023 00:00:00 -0000

metricsext2 (2.2023.105.1409-313684) unstable; urgency=low

  * Fix enumerating more than 64 ETW trace sessions ([bug #16617907](https://msazure.visualstudio.com/One/_workitems/edit/16617907)).
  * Add exemplars support for OTEL metrics.
  * Add exemplars support for IFx metrics.
  * Change IFx processor to support new TLV style IFxMetrics format.
  * Fix stuck situation when searching files in MdmDataCollection Windows ([bug #16374304](https://msazure.visualstudio.com/One/_workitems/edit/16374304/)).
  * Remove `SumOfSquareDiffFromMean` sampling type and all its references from the codebase.
  * Add infrastructure for system metric scraping for Linux/Overlake.
  * Fix touch file logic for Linux, that didn't work if file was owned by other user ([bug #15721848](https://msazure.visualstudio.com/One/_workitems/edit/15721848/)).
  * Add new mandatory metadata section `[ServiceMetadata]` for GenevaMetricsExtension on Windows and Overlake.

 -- Geneva Metrics Agent & SDKs team <metricsagentsdksteam2@microsoft.com>  Fri, 06 Jan 2023 00:00:00 -0000

metricsext2 (2.2022.1201.1140-c7f6c9) unstable; urgency=low

  * Change default value of `enableInternalMetrics2` configOverride to true (enable Internal Metrics v2 by default).
  * Fix sudden increase in memory and OOM kill during graceful shutdown if new internal metrics v2 is enabled ([bug #15933257](https://msazure.visualstudio.com/One/_workitems/edit/15933257)).
  * Add mechanism for excluding environment variables that can contain sensitive data in MdmDataCollection output.
  * Remove metrics sampling logic, configuration and internal metric related to the sampled metrics.
  * Fix unbounded memory growth while constructing PreRawEvent event with large dimension count ([bug #16430624](https://msazure.visualstudio.com/One/_workitems/edit/16430624)).
  * Change MdmDataCollection Windows:
    * Change error handling.
    * Add environment variable for setting CppRestUtil.exe and table2csv.exe paths.
    * Fix the collection of file versions ([bug #16008227](https://msazure.visualstudio.com/One/_workitems/edit/16008227/)).
  * Add separate configuration load latency metrics to ME Internal Metrics v2 schema.
  * Fix the memory usage calculation of the aggregated metric keys after dimension trimming ([bug #14754314](https://msazure.visualstudio.com/One/_workitems/edit/14754314)).
  * Change GIG in main pipeline behavior to revert to direct publication to FE when the packet size allowed is over 4MB.
  * Add 10 ms main loop interruptions during shutdown sequence to allow CPU to switch context from the main thread.
  * Add `set_metricname` transformation operation to support overwriting on metric name using transformation rules.
  * Add metrics dropped counter internal metrics with 'ParsingError' and 'EmptyMonitoringAccount' reasons in IfxProcessor.
  * Add setting to MetricsExtension configuration to use minute granularity for the cache expiration in ARM id enrichment negative cache.
  * For Overlake:
    * Change Health Store publication to be asynchronous to not slow down the main loop.
  * Upgrade OpenSSL and gRPC packages.
  * Add metrics-as-logs support for Mariner 1.0 and Mariner 2.0.
  * MdmDataCollection Linux:
    * Add MdmDataCollection Linux script.
    * Remove open source binaries distributed with script (nping and 7z), replaced with widely available preinstalled equivalents (wget, tar).

 -- Geneva Metrics Agent & SDKs team <metricsagentsdksteam2@microsoft.com>  Fri, 02 Dec 2022 00:00:00 -0000

metricsext2 (2.2022.1026.1505-458956) unstable; urgency=low

  * Fix internal metrics (MetricsPublishedCount, MetricsDroppedCount, and MeErrorsCount) emitted with different number of dimensions ([bug #15932311](https://msazure.visualstudio.com/One/_workitems/edit/15932311/)).
  * For validation rules of OTLP metrics:
    * Change rules to drop cumulative histogram metrics.
    * Change rules to drop non-monotonic delta sum metrics.
    * Change rules to allow non-monotonic cumulative sum metrics.
  * Change drop reason `CumulativeTemporalityNotSupported` to `WrongAggregationTemporality`.

 -- Geneva Metrics Agent & SDKs team <metricsagentsdksteam2@microsoft.com>  Wed, 26 Oct 2022 00:00:00 -0000

metricsext2 (2.2022.1021.1309-7208c2) unstable; urgency=low

  * Fix ME crashes while processing OTLP Histogram with zero bucket ([bug #15762948](https://msazure.visualstudio.com/One/_workitems/edit/15762948)).
  * Add MdmDataCollection for Windows from Metrics and Health repository, translate it from cmd to Powershell and add it to the NuGet package of MetricsExtension.
  * Upgrade GenevaMonAgent-Shared-CrossPlat library to the latest commit (5311c3ba41ae0cd735b366887969d215def3ee0a Fri Oct 7 19:59:37 2022 +0000).
  * Add XPlatLib to Windows build.
  * Add logic to drop OTLP metrics with cumulative aggregation temporality. Dropped metrics are reported in `DroppedRawMetricEventsCountMetric` internal metric with `CumulativeTemporalityNotSupported` reason.
  * Add calls to malloc_trim() to release memory before applying backpressure on Linux/Overlake.

 -- Geneva Metrics Agent & SDKs team <metricsagentsdksteam2@microsoft.com>  Fri, 21 Oct 2022 00:00:00 -0000

metricsext2 (2.2022.930.1909-c38ba0) unstable; urgency=low

  * Add preaggregate cost estimation feature.
  * Change default value for `gigMainPipelineMode` from `Disabled` to `Enabled`.
  * Add '<<Metric Account Name>>' to banned monitoring accounts.
  * Add support to `set_dimension_value` transformation rule to add the LocationId through `standard_location_id` function.
  * Add logic to drop internal metrics v2 with no preaggs defined.
  * Add airgapped clouds (USSec/USNat) support to Overlake GenevaMetricsExtension.
  * Add Geneva Metrics ppe and int global endpoints to the ones accepted by the start script in the MDM containers published to `linuxgeneva` and isolated ACRs.
  * Change msgpack event/source tag for aggregated metrics publication through Mdsd on Linux, from 'syslog' to 'metricsextensionlog' and make it configurable through `mdsdSourceTag` ME config override.
  * Fix data race condition in endpoint resolution ([bug #15640326](https://msazure.visualstudio.com/One/_workitems/edit/15640326)).
  * For Overlake:
    * Change the size limitation for the string interner cache from 50MB to 10MB, which should still be more than enough.
    * Remove VfpMdm account from the list of high priority accounts.
  * For `MdsdHost` startup argument (and `MDSD_HOST` environment variable):
    * Change IP address argument to a string argument, which now gets resolved to an actual IP address.
    * Add resolution during ME startup or whenever TCP connection to MDSD is broken due to any reason (e.g., mdsd container getting restarted, mdsd dropping the connection, network connectivity problems).

 -- Geneva Metrics Agent & SDKs team <metricsagentsdksteam2@microsoft.com>  Fri, 30 Sep 2022 00:00:00 -0000

metricsext2 (2.2022.830.1813-40214a) unstable; urgency=low

  * Upgrade ME Docker build for isolated ACR to be based on Mariner 2.0 (instead of Ubuntu 20.04).
  * Fix ARM id enrichment calls adding directly a header for compression that triggers CppRestSdk bug ([bug #15375844](https://msazure.visualstudio.com/One/_workitems/edit/15375844)).
  * Revert dropping internal metrics v2 without a metric configuration.
  * Add MDSD_HOST and MDSD_PORT environment variables as backup to -MdsdHost and -MdsdPort startup arguments, which enable publishing metrics as logs to Mdsd in Linux.
  * Change internal metric name from `MetricsPipelineLatencyInMs` for event read latency to `MetricsRawEventReadLatencyInMs`, update attributes.
  * Add new internal metric `AuthLifetimeLeftMin`, which shows remaining lifetime for the current authentication context (certificate or token). This metric can be used for alerting and diagnosing certificate rotation issues early.
  * Add the possibility to specify th transformation rules folder through the environment variable MDM_TRANSFORM_RULES_DIR when starting ME, same way as it was already possible for the docker container.
  * Fix infinite loop of draining aggregated queue for front end during account throttling ([bug #15384146](https://msazure.visualstudio.com/One/_workitems/edit/15384146)).

 -- Geneva Metrics Agent & SDKs team <metricsagentsdksteam2@microsoft.com>  Tue, 30 Aug 2022 00:00:00 -0000

metricsext2 (2.2022.811.1333-d2565c) unstable; urgency=low

  * Add new internal metric `MetricsExtensionEventSignals` which signals MetricsExtension startup and shutdown events.
  * Fix publishing to GIG MonMon pipeline in case monitoring account has URL invalid characters ([bug #15153488](https://msazure.visualstudio.com/One/_workitems/edit/15153488)).
  * Fix memory leaks in Certificates initialization ([bug #12885620](https://msazure.visualstudio.com/One/_workitems/edit/12885620/)).
  * Fix MetricsExtension OOMs on Overlake by limiting raw events queue size. ([bug #15083073](https://msazure.visualstudio.com/One/_workitems/edit/15083073/)).
  * Fix creating source ingestion related internal metrics error due to initialization order. ([bug #15025074](https://msazure.visualstudio.com/One/_workitems/edit/15025074/)).
  * Fix compilation error with VS2022 on helper member initialization.
  * Enable Interprocedural Optimization on Linux.
  * Add memory backpressure for Overlake.
  * Fix a possible information leakage from uninitialized padding bytes ([bug #14714909](https://msazure.visualstudio.com/One/_workitems/edit/14714909/), [bug #14714910](https://msazure.visualstudio.com/One/_workitems/edit/14714910/)).
  * Fix handling shutdown signals during initialization not waiting for seed URL detection timeouts.
  * Fix overly noisy log line "Picked account for fetching query" appearing very often on debug log level ([bug #15045691](https://msazure.visualstudio.com/One/_workitems/edit/15045691/)).
  * Change C++ standard from c++14 to c++17.
  * Add logic to drop internal metrics v2 without a metric configuration.
  * Fix the bug resulting publication of invalid double-valued raw-type metrics ([bug #15004447](https://msazure.visualstudio.com/One/_workitems/edit/15004447)).

 -- Geneva Metrics Agent & SDKs team <metricsagentsdksteam2@microsoft.com>  Thu, 11 Aug 2022 00:00:00 -0000

metricsext2 (2.2022.708.1732-deb677) unstable; urgency=low

  * Change MDM proxy resolution logic to use DNS resolution mode from configuration.
  * Fix a potential race condition in creating internal metrics ([bug #10936840](https://msazure.visualstudio.com/One/_workitems/edit/10936840/)).
  * Add new cloud name "arcautonomous" for Arc Autonomous. When specified, the resource endpoint for MSI token will be fetched from an environment variable named "customResourceEndpoint" directly.
  * Add to ME the ability to find the Location id for both AP/PF machines and Azure nodes.
  * Change AggregatedMetricsSerializer class to reduce the memory footprint by replacing std::unordered_map with tsl::ordered_set.
  * Change logic to skip the aggregation stage for raw-type metrics.
  * Remove support for Debian 9 and Ubuntu 16.04 (as per prior [Cu deprecation notice](https://eng.ms/docs/products/geneva/support/deprecations/copper#deprecating-metricsextension-support-for-debian-9-and-ubuntu-1604) due to security concerns).
  * Add a check to detect if the provider is enabled before trying to publish client aggregated metrics for optimization.
  * Change MetricAggregationData, MetricAggregationKey, SingleValueRawMdmEvent and ExternallyAggregatedRawMdmEvent classes to use Boost:Pool for dynamic memory allocation.
  * Add account ingestion limit configuration to cap the number of ingested events per account.

 -- Geneva Metrics Agent & SDKs team <metricsagentsdksteam2@microsoft.com>  Fri, 08 Jul 2022 00:00:00 -0000

metricsext2 (2.2022.624.1548-2cf19b) unstable; urgency=low

  * Fix bug in Transformation Rules that could cause ME to crash while shutting down ([bug #14815935](https://msazure.visualstudio.com/One/_workitems/edit/14815935)).

 -- Geneva Metrics Agent & SDKs team <metricsagentsdksteam2@microsoft.com>  Fri, 24 Jun 2022 00:00:00 -0000

metricsext2 (2.2022.622.1902-f858d9) unstable; urgency=low

  * Fix packets for GIG as main pipeline not being marked as "forked" when the traffic is also sent directly to Geneva Metrics FrontEnd.
  * Fix dropped integer-type OTLP Sum/Gauge metric support ([bug #14705512](https://msazure.visualstudio.com/One/_workitems/edit/14705512)).
  * Fix problem with `vcruntime140_1.dll` dependency was missing from Windows package ([bug #14723888](https://msazure.visualstudio.com/One/_workitems/edit/14723888)).
  * For misleading log lines in prom P3 scenario:
    * Remove Frontend detection errors on initialization in local control channel mode.
    * Remove Bootstrapping http client failure messages.
    * Remove Certificate related error/warning messages.
  * Fix dropped integer-type OTLP Sum/Gauge metric support ([bug #14705512](https://msazure.visualstudio.com/One/_workitems/edit/14705512)).
  * Add `-OtlpGrpcPort` and `-OtlpGrpcHost` startup arguments to allow setting OTLP gRPC host and port.
  * Add separate config parameter `otlp_grpc_prom` to configure receiving of prometheus metrics in OTLP over gRPC.

 -- Geneva Metrics Agent & SDKs team <metricsagentsdksteam2@microsoft.com>  Thu, 23 Jun 2022 00:00:00 -0000

metricsext2 (2.2022.610.1050-e08c5e) unstable; urgency=low

  * Fix disabling publications for machine accounts if no metrics were ingested ([bug #14528761](https://msazure.visualstudio.com/One/_workitems/edit/14528761)).
  * Fix CentralBond packets serialization for GIG MonMon QoS pipelines (both internal metrics and logs) ([bug #14549498](https://msazure.visualstudio.com/One/_workitems/edit/14549498)).
  * For undefined behavior ([bug #12885623](https://msazure.visualstudio.com/One/_workitems/edit/12885623)):
    * Fix Ubuntu 16, Ubuntu 18 and Debian 9 versions: logging the value of an invalid event using hex notation.
    * Fix other versions: sanitizing the JSON string returned from HTTP calls, the ME could have tried to use a dangling reference.
  * Add an environment variable option to read config override settings.
  * Add mariner 2.0 ME builds to OB pipeline.
  * For ME crash with several accounts publishing in parallel to ETW ([bug #13205341](https://msazure.visualstudio.com/One/_workitems/edit/13205341)):
    * Fix the race condition in Mdsd/ETWPublisher classes that occurred during dimension serialization by moving the stream variables from class to function definition.
  * Fix ME to drop metrics with a metric name longer than 512 characters.
  * Add default ports for the OTLP listener; 4316 for Prometheus, 4317 for MDM aggregated metrics.
  * Fix flaky tests in TransformRuleSetManagerTests.cpp ([bug #14237611](https://msazure.visualstudio.com/One/_workitems/edit/14237611)).
  * Fix bug in User Managed Identities preventing publication if the account has a GIG endpoint defined ([bug #14671185](https://msazure.visualstudio.com/One/_workitems/edit/14671185)).
  * Add handling of new "gigInMainPipeline" and "forkGigInMainPipeline" configuration parameters for GIG Ingestion flow of 1st party metrics.
  * Fix wrongly logged dropped metric count ([bug #14670836](https://msazure.visualstudio.com/One/_workitems/edit/14670836)).
  * Add new config for backpressure memory limits autodiscovery.

 -- Geneva Metrics Agent & SDKs team <metricsagentsdksteam2@microsoft.com>  Fri, 10 Jun 2022 00:00:00 -0000

metricsext2 (2.2022.505.1734-d239bc) unstable; urgency=low

  * Upgrade opentelemetry-proto submodule from v.0.7.0 to v.0.10.0.
  * Change prom account label from `microsoft_metrics_stream` to `microsoft_metrics_include_label`.
  * Add option to use HTTP(s) proxy through environment variables in Linux.
  * Add option to validate server certificate authorities (CA).
  * Add workaround for USSec/USNat stamps having too old versions of Geneva Metrics backend (supporting v5 ME-to-FE protocol only) by detecting such situations and downgrading protocol version (should only affect standalone ME installations and ME supplied in MA).
  * Add opt-out for last sampling mode breaking change (dropping metrics arriving late to maintain "sum=min=max=value, count=1" contract) introduced in ME v2.2021.1210.2108-f979e1. By setting config override `lastSamplingModeLegacy` to true, one can revert ME back to original behavior.
  * Add "ME-Request-Info" as header for ME http calls publishing metrics to give extra info to FE for ME calls tracing.
  * For Overlake:
    * Change shutdown timeout to 0.5 second to reduce probability of forceful kill.
    * Change the set of ip addresses to use ipv6 as MdmProxy for FairFax.
  * Add publication of aggregated metrics as logs on Linux through MDSD.
  * Add maxRawEventInputQueueSizeInBytes config for backpressure and throttling.

 -- Geneva Metrics Agent & SDKs team <metricsagentsdksteam2@microsoft.com>  Thu, 05 May 2022 00:00:00 -0000

metricsext2 (2.2022.312.2300-d1b4f6) unstable; urgency=low

  * Change default prom raw-type metric namespace from `Prometheus` to `_azure_managed_prometheus` to allow running side-by-side with prom-mdm-converter solution.
  * For Overlake:
    * Fix bug that cause invalidation of the global Overlake certificate ([bug #13703519](https://msazure.visualstudio.com/DefaultCollection/One/_workitems/edit/13703519)).
  * Add authentication through User Managed Identities.
  * Change ME Docker builds for CDPX isolated ACRs to be based on Ubuntu 20.04 (instead of Ubuntu 16.04).
  * Add semi-static ME builds targeting arm64 platform to OB pipeline.
  * Add GIG client side load balanced publishing.
  * Add Machine publication target for internal metrics.

 -- Geneva Metrics Agent & SDKs team <metricsagentsdksteam2@microsoft.com>  Mon, 14 Mar 2022 00:00:00 -0000

metricsext2 (2.2022.216.1107-3efd15) unstable; urgency=low

  * Fix race condition in logging ([bug #12907377](https://msazure.visualstudio.com/One/_workitems/edit/12907377)).
  * Add publication using AMCS tokens.
  * Remove the check for "not_before" key in JSON returned by IMDS for MSI token.
  * Upgrade national cloud Docker container builds to be based on Ubuntu 18.04 (instead of Ubuntu 16.04).
  * Remove special handling for DNS resolution errors ([bug #12828499](https://msazure.visualstudio.com/One/_workitems/edit/12828499)).
  * Fix potential race condition in transformation rules during ME startup ([bug #12886281](https://msazure.visualstudio.com/One/_workitems/edit/12886281)).
  * Fix GIG publishing request with malformed 'endpoint' parameter due to using URL ([bug #12966877](https://msazure.visualstudio.com/One/_workitems/edit/12966877)).
  * Fix potential race condition in `Watchdog` class ([bug #12887091](https://msazure.visualstudio.com/DefaultCollection/One/_workitems/edit/12887091)).
  * Add support for OTLP counters, gauges and integer histogram as "native MDM" events.
  * Fix telemetry events collection has incorrect start-end time values ([bug #13105200](https://msazure.visualstudio.com/One/_workitems/edit/13105200)).
  * Fix faulty type conversions while handling OTel metrics ([bug #13163750](https://msazure.visualstudio.com/One/_workitems/edit/13163750)).
  * Fix direct internal metrics creating metric events when internalMetrics2 is disabled ([bug #13190085](https://msazure.visualstudio.com/One/_workitems/edit/13190085/)).
  * Fix throttling metrics issues and improve performance ([bug #13221425](https://msazure.visualstudio.com/One/_workitems/edit/13221425)).
  * Fix performance regression in certificate handling on Windows ([bug #13215374](https://msazure.visualstudio.com/One/_workitems/edit/13215374)).
  * Fix certificate problems derived from caching http_client objects ([bug #10080986](https://msazure.visualstudio.com/One/_workitems/edit/10080986)).

 -- Geneva Metrics Agent & SDKs team <metricsagentsdksteam2@microsoft.com>  Wed, 16 Feb 2022 00:00:00 -0000

metricsext2 (2.2021.1210.2108-f979e1) unstable; urgency=low

  * Change behavior of last sampling mode: metrics with last sampling mode enabled will strictly maintain contract of having Sum=Min=Max=Value, Count=1 at all times — at cost of dropping backdated events which arrive later than aggregation interval (1 minute) closes.
  * Add new configuration to specify high priority accounts which would not be throttled when backpressure is active ([PR #5442797](https://msazure.visualstudio.com/DefaultCollection/One/_git/EngSys-MDA-MetricsExtension/pullrequest/5442797)).
  * Fix dSMS notify file permission denied bug ([bug #12802761](https://msazure.visualstudio.com/One/_workitems/edit/12802761)).
  * Add internalMetricsMachineAccountName config to redirect following metrics to one account: memory growth areas, throttling and ingested events metrics ([PR #5458830](https://msazure.visualstudio.com/DefaultCollection/One/_git/EngSys-MDA-MetricsExtension/pullrequest/5458830)).
  * Add monitoring account for internal metrics emitted via logger ([PR #5458830](https://msazure.visualstudio.com/One/_git/EngSys-MDA-MetricsExtension/pullrequest/5408253)).
  * Add ingested events count internal metrics to ME sources ([PR #5352002](https://msazure.visualstudio.com/One/_git/EngSys-MDA-MetricsExtension/pullrequest/5352002)).
  * Add Oversized histogram data count to internal metric v2 ([PR #5435512](https://msazure.visualstudio.com/One/_git/EngSys-MDA-MetricsExtension/pullrequest/5435512)).
  * Add GIG MonMon telemetry pipeline. ([PR #5126286](https://msazure.visualstudio.com/One/_git/EngSys-MDA-MetricsExtension/pullrequest/5126286)).
  * Upgrade GIG schemas. ([PR #5399429](https://msazure.visualstudio.com/One/_git/EngSys-MDA-MetricsExtension/pullrequest/5399429)).

 -- Geneva Metrics Agent & SDKs team <metricsagentsdksteam2@microsoft.com>  Fri, 10 Dec 2021 00:00:00 -0000

metricsext2 (2.2021.1125.1931-9644e4) unstable; urgency=low

  * Fix handling 100 Continue server response in WinHttpPal ([bug #12666714](https://msazure.visualstudio.com/One/_workitems/edit/12666714/)).
  * Fix the time calculation for the string interning cache clear event ([bug #12419370](https://msazure.visualstudio.com/One/_workitems/edit/12419370/)).
  * Fix the unconditional swapping of string interning cache between primary and secondary, when both are above the configuration limits ([bug #12419158](https://msazure.visualstudio.com/One/_workitems/edit/12419158/)).
  * Fix the time calculation for the forceful shutdown ([bug #12373393](https://msazure.visualstudio.com/DefaultCollection/One/_workitems/edit/12373393/)).
  * Add GIG MonMon diagnosability pipeline (publishing selected error logs to GIG QoS).
  * Add to metric_key condition in transformation rules the ability to specify a list of names/prefixes for accounts/namespaces/metric names, increasing performance in some scenarios.
  * Fix dSMS on Linux filewatcher exception handling in ThumbprintLoader if global ACMS notify file does not exist ([bug #11704967](https://msazure.visualstudio.com/DefaultCollection/One/_workitems/edit/11704967/)).
  * Add authn/authz through System Managed Identities obtained from IMDS services.
  * Fix config override key `shutdownRequestedThreshold` processing which didn't work before.
  * Fix the transformation rule setting dimension was not working when having env var as value source ([bug #11038936](https://msazure.visualstudio.com/DefaultCollection/One/_workitems/edit/11038936/)).
  * Fix the InfluxDB processor was not resetting the preraw event after being modified by transformation rules ([bug #11041643](https://msazure.visualstudio.com/DefaultCollection/One/_workitems/edit/11041643/)).
  * Fix the preraw event `operator<<` was dumping an empty string for account/namespace/metricname under some circumstances ([bug #11036683](https://msazure.visualstudio.com/DefaultCollection/One/_workitems/edit/11036683/)).
  * Fix potential bug when infinite or NaN metric is considered as valid ([bug #10485610](https://msazure.visualstudio.com/One/_workitems/edit/10485610)).
  * Change banned accounts list to explictly consider empty/missing account traffic as "banned".
  * Fix bug in File and Console logger modes: potential undefined behavior when 2 threads were writing a log entry at the same time ([bug #12506928](https://msazure.visualstudio.com/One/_workitems/edit/12506928)).
  * Fix the bug in Linux certificate store triggering when HTTP 403 response received  ([bug #12048918](https://msazure.visualstudio.com/One/_workitems/edit/12048918)).
  * Fix watchdog triggering prematurely if NTP has been changing the time on the host ([bug #11132416](https://msazure.visualstudio.com/DefaultCollection/One/_workitems/edit/11132416)).
  * Change certificate handling logic.
  * Change RefCountedString approach to replace custom reference counting design with std::shared_ptr.
  * Add performance improvements in string interning cache data structure ([PR #5222176](https://msazure.visualstudio.com/One/_git/EngSys-MDA-MetricsExtension/pullrequest/5222176)).

 -- Geneva Metrics Agent & SDKs team <metricsagentsdksteam2@microsoft.com>  Thu, 25 Nov 2021 00:00:00 -0000

metricsext2 (2.2021.924.1646-2df972) unstable; urgency=low

  * Security fix: update lz4 library used to mitigate [CVE-2021-3520](https://nvd.nist.gov/vuln/detail/CVE-2021-3520).
  * For OTLP:
    * Add `microsoft_metrics_stream` as a label that will be recognized specially to specify Geneva Metrics account in metrics traffic.
    * Add support for Staleness-NaN for raw-type metrics.
  * Add support for new platform: Mariner 1.0 RPMs of MetricsExtension are available in <https://packages.microsoft.com/cbl-mariner/1.0/prod/extras/> repo.
  * Fix connectivity test failures on startup (which are expected) to be not listed as errors.
  * For Overlake:
    * Enable support for `influxdb_abstract` input channel.
    * Add support for new squashfs image format for Overlake 20.08.
    * Change HealthStore emission to use UNIX domain socket instead of port 8000.
  * Add backpressure throttling for private preview (disabled by default, opt-in with setting config overrides `enableBackpressureSupport` to true and `processResidentSetSizeLimitInBytes` to desired memory limit in bytes, monitor with internal metrics v2 by setting `enableInternalMetrics2` to true).
  * Remove `shrinkAggregationQueueOnReset` config override option: this has been proven to never work in the provided implementation, and the design is not achieving desired goals.

 -- Geneva Metrics Agent & SDKs team <metricsagentsdksteam2@microsoft.com>  Fri, 24 Sep 2021 00:00:00 -0000

