mirror of
https://github.com/block/buzz.git
synced 2026-10-27 04:30:52 +00:00
feat(tracing): add PostgreSQL tracing spans (#3678)
## Why Expose PostgreSQL datastore latency within existing request traces so slow logical database operations can be identified without recording tenant data or query arguments. ## What - Add client spans around logical PostgreSQL operations across the database facade, search, audit, replica fencing, and command persistence - Use a dedicated `buzz_datastore` target and `db.system.name = "postgresql"` for filtering and backend classification - Exclude health-check database calls and scrub raw identifiers and errors from newly traced paths ## Risk Assessment Medium — this instruments frequently used datastore paths and increases trace volume when enabled, but does not change SQL execution or datastore behavior. Existing OpenTelemetry filtering controls export. ## References - Pre-push clippy and fast unit-test hooks passed Generated with Amp --------- Signed-off-by: David Grochowski <dgrochowski@squareup.com> Co-authored-by: Amp <amp@ampcode.com>
This commit is contained in:
@@ -19,6 +19,7 @@ path = "src/main.rs"
|
||||
buzz-core = { workspace = true }
|
||||
buzz-conformance = { workspace = true }
|
||||
buzz-db = { workspace = true }
|
||||
buzz-datastore-tracing = { workspace = true }
|
||||
buzz-auth = { workspace = true }
|
||||
buzz-pubsub = { workspace = true }
|
||||
buzz-audit = { workspace = true }
|
||||
|
||||
@@ -19,6 +19,7 @@ use uuid::Uuid;
|
||||
|
||||
use buzz_core::kind::*;
|
||||
use buzz_core::tenant::{CommunityId, TenantContext};
|
||||
use buzz_datastore_tracing::datastore_span;
|
||||
use buzz_db::workflow::{ApprovalStatus, RunStatus};
|
||||
use buzz_db::DbError;
|
||||
use buzz_workflow::executor::TriggerContext;
|
||||
@@ -97,6 +98,7 @@ enum PersistResult {
|
||||
/// persists without the event record. On retry, the event INSERT succeeds
|
||||
/// (no conflict), and the mutation re-executes — which is safe for idempotent
|
||||
/// operations (open_dm, hide_dm, update_approval, upsert_workflow).
|
||||
#[datastore_span(name = "persist_command_event", system = "postgresql")]
|
||||
async fn persist_command_event(
|
||||
state: &Arc<AppState>,
|
||||
tenant: &TenantContext,
|
||||
|
||||
Reference in New Issue
Block a user