ClickHouse / ClickHouse/ch-go

feat: actually record metrics

Open
#1,137 0 comments 0 reactions 0 assignees View on GitHub
bug investigate
Dominant language
Go
Stars
428
Forks
84
Avg merge
9d 6h
Merged PRs (30d)
4

Description

[`ch.Client` ](https://pkg.go.dev/github.com/ClickHouse/ch-go#Options) currently takes an option to set an OpenTelemetry `MeterProvider`, however it does not create any metrics.

Useful metrics `ch.Client` may provide:
- Total number of written/read rows, packets and bytes, including compressed and uncompressed
- Histogram of query latency

Useful metrics `chpool` may provide:
- A gauge of idle/active connections
- A counter of created/destroyed connections
- Acquire time latency

Refs:
- [semconv for DB metrics and attributes](https://opentelemetry.io/docs/specs/semconv/registry/attributes/db/#general-database-attributes)
- [`database/sql.DBStats`](https://pkg.go.dev/database/sql#DB.Stats) as reference for pool metrics
- [`(*puddle.Pool).Stat`](https://pkg.go.dev/github.com/jackc/puddle/v2#Pool.Stat) as reference for pool metrics

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.