-
Notifications
You must be signed in to change notification settings - Fork 874
Open
Description
#4037 introduced the basic OpenTelemetry tracing support, following are possible improvements:
- Replace our custom logging with Microsoft.Extensions.Logging #2103
- OpenTelemetry: instrument physical connection open/close #4136
- OpenTelemetry: when tracing command execution, specify whether it's prepared or not #4158
- Add Enrich option for OpenTelemetry #4192
- OpenTelemetry: logging #4232
- OpenTelemetry: new Metrics API #3960
- Trace whether a command is being executed as prepared #4636
- We currently trace only exceptions which are thrown during ExecuteReader; if an exception is thrown later (e.g. bad SQL in later batched command), this isn't currently detected. Some refactoring will be needed for this.
- Query execution only for now, no instrumentation for physical connection opening, COPY or anything else.
- In the future we can look into refactoring start/stop to be managed via Start/EndUserAction,
- Micro-optimizations:
- Cache boxed versions of connector.Id and Port, so that we don't heap-allocate for this on every command execution (but this only happens when tracing is on, so less critical).
- Cache the result of ipEndPoint.Address.ToString() for net.peer.ip.
- OpenTelemetry: add test coverage #4285
- OpenTelemetry: implement Filter #4250
- Instrument NpgsqlBinaryImporter for OTel tracing #5838
- Allow specifying a tag on NpgsqlCommand that gets reported in tracing #5595
- Add a metric to OpenTelemetry to track autoprepare's pool saturation #4432
atrauzzi, xsoheilalizadeh, PaulDMendoza, erichiller and pihai