diff --git a/CHANGELOG.md b/CHANGELOG.md index e056eab8d8..2b29fe25ab 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,11 @@ # Refinery Changelog +## 2.8.4 2024-10-11 + +### Fixes + +- fix: Switch `collector_collect_loop_duration_ms` metric to be a histogram (#1381) | [Tyler Helmuth](https://github.com/TylerHelmuth) + ## 2.8.3 2024-10-08 ### Changes diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index 7b6a36aa35..f72c0b1e66 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -2,6 +2,11 @@ While [CHANGELOG.md](./CHANGELOG.md) contains detailed documentation and links to all the source code changes in a given release, this document is intended to be aimed at a more comprehensible version of the contents of the release from the point of view of users of Refinery. +## Version 2.8.4 + +This is a bug fix release and includes the follow change: +* Changes the new `collector_collect_loop_duration_ms` metric introduced in `v2.8.3` to be a histogram instead of a gauge. This ensures the minimum and maximum values from each interval is recorded. + ## Version 2.8.3 This is a bug fix release and includes the follow changes+~+: diff --git a/collect/collect.go b/collect/collect.go index 95dc931c04..4d0802e876 100644 --- a/collect/collect.go +++ b/collect/collect.go @@ -129,7 +129,7 @@ var inMemCollectorMetrics = []metrics.Metadata{ {Name: "trace_kept_sample_rate", Type: metrics.Histogram, Unit: metrics.Dimensionless, Description: "sample rate of kept traces"}, {Name: "trace_aggregate_sample_rate", Type: metrics.Histogram, Unit: metrics.Dimensionless, Description: "aggregate sample rate of both kept and dropped traces"}, {Name: "collector_redistribute_traces_duration_ms", Type: metrics.Histogram, Unit: metrics.Milliseconds, Description: "duration of redistributing traces to peers"}, - {Name: "collector_collect_loop_duration_ms", Type: metrics.Gauge, Unit: metrics.Milliseconds, Description: "duration of the collect loop, the primary event processing goroutine"}, + {Name: "collector_collect_loop_duration_ms", Type: metrics.Histogram, Unit: metrics.Milliseconds, Description: "duration of the collect loop, the primary event processing goroutine"}, } func (i *InMemCollector) Start() error { @@ -399,7 +399,7 @@ func (i *InMemCollector) collect() { } } - i.Metrics.Gauge("collector_collect_loop_duration_ms", float64(time.Now().Sub(startTime).Milliseconds())) + i.Metrics.Histogram("collector_collect_loop_duration_ms", float64(time.Now().Sub(startTime).Milliseconds())) } } diff --git a/config.md b/config.md index 258b9dd872..0fcc50c7ef 100644 --- a/config.md +++ b/config.md @@ -1,7 +1,7 @@ # Honeycomb Refinery Configuration Documentation This is the documentation for the configuration file for Honeycomb's Refinery. -It was automatically generated on 2024-10-10 at 17:01:39 UTC. +It was automatically generated on 2024-10-11 at 16:33:01 UTC. ## The Config file diff --git a/config_complete.yaml b/config_complete.yaml index 5d9c409288..d4a2cc461c 100644 --- a/config_complete.yaml +++ b/config_complete.yaml @@ -2,7 +2,7 @@ ## Honeycomb Refinery Configuration ## ###################################### # -# created on 2024-10-10 at 17:01:39 UTC from ../../config.yaml using a template generated on 2024-10-10 at 17:01:33 UTC +# created on 2024-10-11 at 16:33:00 UTC from ../../config.yaml using a template generated on 2024-10-11 at 16:32:50 UTC # This file contains a configuration for the Honeycomb Refinery. It is in YAML # format, organized into named groups, each of which contains a set of @@ -1135,8 +1135,8 @@ Specialized: ## ## Eligible for live reload. # AdditionalAttributes: - # environment: production # ClusterName: MyCluster + # environment: production ############### ## ID Fields ## diff --git a/metrics.md b/metrics.md index 1a5d0fa6de..0260bd2b90 100644 --- a/metrics.md +++ b/metrics.md @@ -1,7 +1,7 @@ # Honeycomb Refinery Metrics Documentation This document contains the description of various metrics used in Refinery. -It was automatically generated on 2024-10-10 at 17:01:38 UTC. +It was automatically generated on 2024-10-11 at 16:33:00 UTC. Note: This document does not include metrics defined in the dynsampler-go dependency, as those metrics are generated dynamically at runtime. As a result, certain metrics may be missing or incomplete in this document, but they will still be available during execution with their full names. @@ -59,7 +59,7 @@ This table includes metrics with fully defined names. | trace_kept_sample_rate | Histogram | Dimensionless | sample rate of kept traces | | trace_aggregate_sample_rate | Histogram | Dimensionless | aggregate sample rate of both kept and dropped traces | | collector_redistribute_traces_duration_ms | Histogram | Milliseconds | duration of redistributing traces to peers | -| collector_collect_loop_duration_ms | Gauge | Milliseconds | duration of the collect loop, the primary event processing goroutine | +| collector_collect_loop_duration_ms | Histogram | Milliseconds | duration of the collect loop, the primary event processing goroutine | | cluster_stress_level | Gauge | Dimensionless | The overall stress level of the cluster | | individual_stress_level | Gauge | Dimensionless | The stress level of the individual node | | stress_level | Gauge | Dimensionless | The stress level that's being used to determine whether to activate stress relief | diff --git a/rules.md b/rules.md index 5f34395d0c..fa74a45e70 100644 --- a/rules.md +++ b/rules.md @@ -1,7 +1,7 @@ # Honeycomb Refinery Rules Documentation This is the documentation for the rules configuration for Honeycomb's Refinery. -It was automatically generated on 2024-10-10 at 17:01:40 UTC. +It was automatically generated on 2024-10-11 at 16:33:02 UTC. ## The Rules file diff --git a/tools/convert/configDataNames.txt b/tools/convert/configDataNames.txt index bd70fdbcd8..0078ed7626 100644 --- a/tools/convert/configDataNames.txt +++ b/tools/convert/configDataNames.txt @@ -1,5 +1,5 @@ # Names of groups and fields in the new config file format. -# Automatically generated on 2024-10-10 at 17:01:34 UTC. +# Automatically generated on 2024-10-11 at 16:32:56 UTC. General: - ConfigurationVersion diff --git a/tools/convert/metricsMeta.yaml b/tools/convert/metricsMeta.yaml index 0fce53b04a..323122bb3a 100644 --- a/tools/convert/metricsMeta.yaml +++ b/tools/convert/metricsMeta.yaml @@ -196,7 +196,7 @@ complete: unit: Milliseconds description: duration of redistributing traces to peers - name: collector_collect_loop_duration_ms - type: Gauge + type: Histogram unit: Milliseconds description: duration of the collect loop, the primary event processing goroutine - name: cluster_stress_level diff --git a/tools/convert/minimal_config.yaml b/tools/convert/minimal_config.yaml index b9399e6c0c..099b0f6f24 100644 --- a/tools/convert/minimal_config.yaml +++ b/tools/convert/minimal_config.yaml @@ -1,5 +1,5 @@ # sample uncommented config file containing all possible fields -# automatically generated on 2024-10-10 at 17:01:35 UTC +# automatically generated on 2024-10-11 at 16:32:57 UTC General: ConfigurationVersion: 2 MinRefineryVersion: "v2.0" diff --git a/tools/convert/templates/configV2.tmpl b/tools/convert/templates/configV2.tmpl index dcc77890b1..0f5b4a4c6e 100644 --- a/tools/convert/templates/configV2.tmpl +++ b/tools/convert/templates/configV2.tmpl @@ -2,7 +2,7 @@ ## Honeycomb Refinery Configuration ## ###################################### # -# created {{ now }} from {{ .Input }} using a template generated on 2024-10-10 at 17:01:33 UTC +# created {{ now }} from {{ .Input }} using a template generated on 2024-10-11 at 16:32:50 UTC # This file contains a configuration for the Honeycomb Refinery. It is in YAML # format, organized into named groups, each of which contains a set of