You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* docs: doc around metrics
* feat: added prometheus dependency
* define metric instrument interface
* feat: init prometheus collector
* feat: implement stubs for metric instrument
* feat: interface established for metrics
* update gauge to type interface for less type casting
* update server.go and handler.go to use new instrumentation scheme
* feat: update to make instrumentation static
* changes in metric instrument signature
* feat: add cast dependency for converting values reliably.
* feat: implement interface methods
* feat: add cast dependency update
* feat: implement prometheus methods
* feat: run server in a go routine
* fix: correct error return format
* fix: add missing label for count metric
* feat: added log for metric server shut down
* feat: convert decrement counter to a differnt metric for calculation during observation
* feat: removed unused decrement counter
* feat: bump raccoon to version 1.15
* update sample env files to include new metric config
* feat: bump to version 1.16 for golang
* bump golang version to 1.18
* fix: remove usage of errors.join since it requires go > 1.20
* feat: bump docker golang version to 1.20
* revert: docker changes for protoc
* feat: bump golang version to 1.18 in go.mod
* fix: label inconsistencies
* feat: update setup-go version
* feat: set prometheus as the default for metrics in test
* feat: remove telegraf dependency from docker compose
* feat: added setup go
* run in same image
* feat: added config values documentation
* feat: upgrade running image to debian:bookworm
* feat: added buckets according metric range approximates
* update docs with missing metrics
* refactor: set unused locally rather than using mute options
* refactor: formatting and uniformity changes
* feat: add logging for any error encountered during metric scrape
* fix: early return while registering metrics
* feat: remove 1 as bucket resolution due to low probability of the bucket filling
* feat: add interface abstraction for mocking
* feat: added prometheus tests
* introduce delay in metric server initialisation
* feat: added metric tests
* feat: add metric test
* remove test for statsD setup
* feat: move to config instead of loading from env
* refactor: refactor statsD implementation
* refactor: cleanup metrics.md and fix issues
* added documentation
* feat: improved text on logging and help of metrics
* feat: update go.mod
* feat: add common config for recording runtime stats
* record err in case of casting error
* feat: add support for error in case of unable to cast. Added tests for the same
* fix: metric name fetch
logger.Info(fmt.Sprintf("Outstanding unprocessed events in the channel, data lost ~ (No batches %d * 5 events) = ~%d", len(bufferChannel), eventsInChannel))
Copy file name to clipboardexpand all lines: docs/docs/reference/configurations.md
+35
Original file line number
Diff line number
Diff line change
@@ -249,6 +249,20 @@ Upon shutdown, the publisher will try to finish processing events in buffer befo
249
249
250
250
## Metric
251
251
252
+
### `METRIC_RUNTIME_STATS_RECORD_INTERVAL_MS`
253
+
254
+
The time interval between recording runtime stats of the application in the insturmentation. It's recommended to keep this value equivalent to flush interval when using statsd and your collector's scrape interval when using prometheus as your instrumentation.
255
+
256
+
- Type `Optional`
257
+
- Default Value: `10000`
258
+
259
+
### `METRIC_STATSD_ENABLED`
260
+
261
+
Flag to enable export of statsd metric
262
+
263
+
- Type `Optional`
264
+
- Default value: `false`
265
+
252
266
### `METRIC_STATSD_ADDRESS`
253
267
254
268
Address to reports the service metrics.
@@ -263,6 +277,27 @@ Interval for the service to push metrics.
263
277
- Type `Optional`
264
278
- Default value: `10000`
265
279
280
+
### `METRIC_PROMETHEUS_ENABLED`
281
+
282
+
Flag to enable a prometheus http server to expose metrics.
283
+
284
+
- Type `Optional`
285
+
- Default value: `false`
286
+
287
+
### `METRIC_PROMETHEUS_PATH`
288
+
289
+
The path at which prometheus server should serve metrics.
290
+
291
+
- Type `Optional`
292
+
- Default value: `/metrics`
293
+
294
+
### `METRIC_PROMETHEUS_PORT`
295
+
296
+
The port number on which prometheus server will be listening for metric scraping requests.
Copy file name to clipboardexpand all lines: docs/docs/reference/metrics.md
+46-1
Original file line number
Diff line number
Diff line change
@@ -53,15 +53,30 @@ Duration of alive connection per session per connection
53
53
- Type: `Timing`
54
54
- Tags: `conn_group=*`
55
55
56
+
### `conn_close_err_count`
57
+
58
+
Number of connection close errors encountered
59
+
60
+
- Type: `Count`
61
+
- Tags: NA
62
+
56
63
## Kafka Publisher
57
64
58
65
### `kafka_messages_delivered_total`
59
66
60
-
Number of delivered events to Kafka
67
+
Number of delivered events to Kafka. The metric also contains false increments. To find the true value, one should use the difference between this and `kafka_messages_undelivered_total` metric for the same tag/labels.
0 commit comments