diff --git a/CHANGELOG.md b/CHANGELOG.md index 06effca6..7ae374f6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,7 @@ ## Unreleased - Python server: Support optional metrics ([#828](https://github.com/mozilla/glean_parser/pull/828)) +- BUGFIX: Correct event timestamp values in server language templates ([#831](https://github.com/mozilla/glean_parser/pull/831)) ## 18.2.0 diff --git a/glean_parser/templates/go_server.jinja2 b/glean_parser/templates/go_server.jinja2 index f3ebb148..bdcb2625 100644 --- a/glean_parser/templates/go_server.jinja2 +++ b/glean_parser/templates/go_server.jinja2 @@ -187,7 +187,7 @@ func newGleanEvent(category, name string, extra map[string]string) gleanEvent { return gleanEvent{ Category: category, Name: name, - Timestamp: time.Now().UnixMilli(), + Timestamp: 0, Extra: extra, } } diff --git a/glean_parser/templates/javascript_server.jinja2 b/glean_parser/templates/javascript_server.jinja2 index ee7b2adb..f44247ab 100644 --- a/glean_parser/templates/javascript_server.jinja2 +++ b/glean_parser/templates/javascript_server.jinja2 @@ -126,7 +126,7 @@ class {{ ping|event_class_name(metrics_by_type) }} { const now = new Date(); const timestamp = now.toISOString(); {% if 'event' in metrics_by_type %} - event.timestamp = now.getTime(); + event.timestamp = 0; {% endif %} const eventPayload = { metrics: { diff --git a/glean_parser/templates/python_server.jinja2 b/glean_parser/templates/python_server.jinja2 index 79a7f072..4169cf52 100644 --- a/glean_parser/templates/python_server.jinja2 +++ b/glean_parser/templates/python_server.jinja2 @@ -50,7 +50,7 @@ class {{ ping|camelize }}ServerEventLogger: timestamp = now.isoformat() events = [] if events is None else events for event in events: - event["timestamp"] = int(1000.0 * now.timestamp()) # Milliseconds since epoch + event["timestamp"] = 0 event_payload = { "metrics": { {% for metric_type, metrics in metrics_by_type.items() %} diff --git a/glean_parser/templates/ruby_server.jinja2 b/glean_parser/templates/ruby_server.jinja2 index af85b70b..2ae45619 100644 --- a/glean_parser/templates/ruby_server.jinja2 +++ b/glean_parser/templates/ruby_server.jinja2 @@ -152,7 +152,7 @@ module Glean { 'category' => '{{ event.category }}', 'name' => '{{ event.name }}', - 'timestamp' => (Time.now.utc.to_f * 1000).to_i, + 'timestamp' => 0, 'extra' => [ {% for extra, metadata in event.extra_keys.items() %} ['{{ extra }}', {{ extra }}.to_s], diff --git a/glean_parser/templates/rust_server.jinja2 b/glean_parser/templates/rust_server.jinja2 index a4a4acec..3d4019d6 100644 --- a/glean_parser/templates/rust_server.jinja2 +++ b/glean_parser/templates/rust_server.jinja2 @@ -108,7 +108,7 @@ pub fn new_glean_event( GleanEvent { category: category.to_owned(), name: name.to_owned(), - timestamp: Utc::now().timestamp_millis(), + timestamp: 0, extra, } } @@ -227,7 +227,7 @@ impl {{ ping|ping_events_type_name }} for {{ event|event_type_name }} { /// Create a GleanEvent for the above-defined Event struct ({{ event|event_type_name }}). /// Any metadata `extra` values are passed into the extra HashMap. fn glean_event(&self) -> GleanEvent { - // Any `extra_keys` will be output below to be inserted into `extra`. + // Any `extra_keys` will be output below to be inserted into `extra`. // If there are none, an empty, immutable HashMap is created. {% if event.extra_keys.items()|length == 0 %} let extra: HashMap = HashMap::new(); @@ -323,7 +323,7 @@ impl GleanEventsLogger { if let Some(event) = ¶ms.event { events.push(event.glean_event()); } - + {% else %} let events: Vec = Vec::new(); {% endif %} diff --git a/tests/data/server_custom_ping_only_compare.go b/tests/data/server_custom_ping_only_compare.go index 0d0a095c..046333bd 100644 --- a/tests/data/server_custom_ping_only_compare.go +++ b/tests/data/server_custom_ping_only_compare.go @@ -183,7 +183,7 @@ func newGleanEvent(category, name string, extra map[string]string) gleanEvent { return gleanEvent{ Category: category, Name: name, - Timestamp: time.Now().UnixMilli(), + Timestamp: 0, Extra: extra, } } diff --git a/tests/data/server_custom_ping_only_compare.rs b/tests/data/server_custom_ping_only_compare.rs index c092e98f..af1d3084 100644 --- a/tests/data/server_custom_ping_only_compare.rs +++ b/tests/data/server_custom_ping_only_compare.rs @@ -107,7 +107,7 @@ pub fn new_glean_event( GleanEvent { category: category.to_owned(), name: name.to_owned(), - timestamp: Utc::now().timestamp_millis(), + timestamp: 0, extra, } } @@ -217,7 +217,7 @@ impl ServerTelemetryScenarioOnePingEvent for BackendSpecialEventEvent { /// Create a GleanEvent for the above-defined Event struct (BackendSpecialEventEvent). /// Any metadata `extra` values are passed into the extra HashMap. fn glean_event(&self) -> GleanEvent { - // Any `extra_keys` will be output below to be inserted into `extra`. + // Any `extra_keys` will be output below to be inserted into `extra`. // If there are none, an empty, immutable HashMap is created. let mut extra: HashMap = HashMap::new(); @@ -295,7 +295,7 @@ impl GleanEventsLogger { if let Some(event) = ¶ms.event { events.push(event.glean_event()); } - + self.record("server-telemetry-scenario-one", request_info, metrics, events); } } diff --git a/tests/data/server_events_and_custom_ping_compare.go b/tests/data/server_events_and_custom_ping_compare.go index c194d379..279b63cc 100644 --- a/tests/data/server_events_and_custom_ping_compare.go +++ b/tests/data/server_events_and_custom_ping_compare.go @@ -183,7 +183,7 @@ func newGleanEvent(category, name string, extra map[string]string) gleanEvent { return gleanEvent{ Category: category, Name: name, - Timestamp: time.Now().UnixMilli(), + Timestamp: 0, Extra: extra, } } diff --git a/tests/data/server_events_and_custom_ping_compare.rs b/tests/data/server_events_and_custom_ping_compare.rs index dfde116d..c1f6a398 100644 --- a/tests/data/server_events_and_custom_ping_compare.rs +++ b/tests/data/server_events_and_custom_ping_compare.rs @@ -107,7 +107,7 @@ pub fn new_glean_event( GleanEvent { category: category.to_owned(), name: name.to_owned(), - timestamp: Utc::now().timestamp_millis(), + timestamp: 0, extra, } } @@ -217,7 +217,7 @@ impl EventsPingEvent for BackendTestEventEvent { /// Create a GleanEvent for the above-defined Event struct (BackendTestEventEvent). /// Any metadata `extra` values are passed into the extra HashMap. fn glean_event(&self) -> GleanEvent { - // Any `extra_keys` will be output below to be inserted into `extra`. + // Any `extra_keys` will be output below to be inserted into `extra`. // If there are none, an empty, immutable HashMap is created. let mut extra: HashMap = HashMap::new(); @@ -295,7 +295,7 @@ impl GleanEventsLogger { if let Some(event) = ¶ms.event { events.push(event.glean_event()); } - + self.record("events", request_info, metrics, events); } } diff --git a/tests/data/server_events_compare.rb b/tests/data/server_events_compare.rb index 314acdde..e0584a77 100644 --- a/tests/data/server_events_compare.rb +++ b/tests/data/server_events_compare.rb @@ -115,7 +115,7 @@ def record( {{ 'category' => 'backend', 'name' => 'object_update', - 'timestamp' => (Time.now.utc.to_f * 1000).to_i, + 'timestamp' => 0, 'extra' => [ ['object_type', object_type.to_s], ['object_state', object_state.to_s], diff --git a/tests/data/server_events_only_compare.go b/tests/data/server_events_only_compare.go index 5e0ad6d2..ac0c166d 100644 --- a/tests/data/server_events_only_compare.go +++ b/tests/data/server_events_only_compare.go @@ -183,7 +183,7 @@ func newGleanEvent(category, name string, extra map[string]string) gleanEvent { return gleanEvent{ Category: category, Name: name, - Timestamp: time.Now().UnixMilli(), + Timestamp: 0, Extra: extra, } } diff --git a/tests/data/server_events_only_compare.rs b/tests/data/server_events_only_compare.rs index 85b8ec0a..00943896 100644 --- a/tests/data/server_events_only_compare.rs +++ b/tests/data/server_events_only_compare.rs @@ -107,7 +107,7 @@ pub fn new_glean_event( GleanEvent { category: category.to_owned(), name: name.to_owned(), - timestamp: Utc::now().timestamp_millis(), + timestamp: 0, extra, } } @@ -217,7 +217,7 @@ impl EventsPingEvent for BackendTestEventEvent { /// Create a GleanEvent for the above-defined Event struct (BackendTestEventEvent). /// Any metadata `extra` values are passed into the extra HashMap. fn glean_event(&self) -> GleanEvent { - // Any `extra_keys` will be output below to be inserted into `extra`. + // Any `extra_keys` will be output below to be inserted into `extra`. // If there are none, an empty, immutable HashMap is created. let mut extra: HashMap = HashMap::new(); @@ -295,7 +295,7 @@ impl GleanEventsLogger { if let Some(event) = ¶ms.event { events.push(event.glean_event()); } - + self.record("events", request_info, metrics, events); } }