diff --git a/azure_monitor/CHANGELOG.md b/azure_monitor/CHANGELOG.md index 8d3bebe..711e594 100644 --- a/azure_monitor/CHANGELOG.md +++ b/azure_monitor/CHANGELOG.md @@ -2,6 +2,9 @@ ## Unreleased +- Change epoch for live metrics + ([#115](https://github.com/microsoft/opentelemetry-azure-monitor-python/pull/115)) + ## 0.4b.0 Released 2020-06-29 diff --git a/azure_monitor/examples/metrics/observer.py b/azure_monitor/examples/metrics/observer.py index 52f21ac..66b1c64 100644 --- a/azure_monitor/examples/metrics/observer.py +++ b/azure_monitor/examples/metrics/observer.py @@ -48,4 +48,4 @@ def get_ram_usage_callback(observer): label_keys=(), ) -input("Metrics will be printed soon. Press a key to finish...\n") +input("Press any key to exit...") diff --git a/azure_monitor/src/azure_monitor/sdk/auto_collection/live_metrics/sender.py b/azure_monitor/src/azure_monitor/sdk/auto_collection/live_metrics/sender.py index 27f39e3..9872efb 100644 --- a/azure_monitor/src/azure_monitor/sdk/auto_collection/live_metrics/sender.py +++ b/azure_monitor/src/azure_monitor/sdk/auto_collection/live_metrics/sender.py @@ -3,7 +3,6 @@ # import json import logging -import time import requests @@ -42,7 +41,7 @@ def _send_request(self, data: str, request_type: str) -> requests.Response: "Expect": "100-continue", "Content-Type": "application/json; charset=utf-8", utils.LIVE_METRICS_TRANSMISSION_TIME_HEADER: str( - round(time.time()) * 1000 + utils.get_time_since_epoch() ), }, ) diff --git a/azure_monitor/src/azure_monitor/sdk/auto_collection/live_metrics/utils.py b/azure_monitor/src/azure_monitor/sdk/auto_collection/live_metrics/utils.py index cfba984..5893497 100644 --- a/azure_monitor/src/azure_monitor/sdk/auto_collection/live_metrics/utils.py +++ b/azure_monitor/src/azure_monitor/sdk/auto_collection/live_metrics/utils.py @@ -1,6 +1,7 @@ # Copyright (c) Microsoft Corporation. All rights reserved. # Licensed under the MIT License. # +import datetime import time import uuid @@ -26,3 +27,13 @@ def create_metric_envelope(instrumentation_key: str): version=azure_monitor_context.get("ai.internal.sdkVersion"), ) return envelope + + +def get_time_since_epoch(): + now = datetime.datetime.now() + # epoch is defined as 12:00:00 midnight on January 1, 0001 for Microsoft + epoch = datetime.datetime(1, 1, 1) + delta = (now - epoch).total_seconds() + # return the number of 100-nanosecond intervals + delta = round(delta * 10000000) + return delta