refactor(telemetrystore): drop redundant DB suffix on the store accessor (#31)

datastoreDB read as 'datastore database'; the datastore IS the database.
one name: Datastore(). interface + provider + mock + ~85 call sites, 1:1.

also repins otel-collector v0.144.9 (force-deleted dangling tag from the
debrand commit) to the real v0.144.13 (matches cloud), so fresh
go mod download in the release graph resolves.

Co-authored-by: Hanzo Dev <[email protected]>
This commit is contained in:
zooqueen
2026-07-12 22:01:03 -07:00
committed by GitHub
co-authored by Hanzo Dev
parent 5f136962d3
commit 78f06c51de
30 changed files with 119 additions and 117 deletions
+5 -4
View File
@@ -29,7 +29,7 @@ require (
github.com/hanzoai/datastore-go-mock v0.14.3
github.com/hanzoai/datastore-sql-parser v0.4.17
github.com/hanzoai/govaluate v0.1.0
github.com/hanzoai/otel-collector v0.144.9
github.com/hanzoai/otel-collector v0.144.13
github.com/hanzoai/sqlbuilder v1.39.2
github.com/hanzoai/sqlite v0.3.0
github.com/json-iterator/go v1.1.13-0.20220915233716-71ac16282d12
@@ -94,7 +94,6 @@ require (
cloud.google.com/go v0.123.0 // indirect
filippo.io/edwards25519 v1.2.0 // indirect
github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/compute/armcompute v1.0.0 // indirect
github.com/ClickHouse/clickhouse-go/v2 v2.46.0 // indirect
github.com/Microsoft/go-winio v0.6.2 // indirect
github.com/ProtonMail/go-crypto v1.1.6 // indirect
github.com/ThinkInAIXYZ/go-mcp v0.2.24 // indirect
@@ -213,14 +212,16 @@ require (
github.com/google/pprof v0.0.0-20260402051712-545e8a4df936 // indirect
github.com/gorilla/rpc v1.2.1 // indirect
github.com/grandcat/zeroconf v1.0.0 // indirect
github.com/hanzoai/ai v1.806.6 // indirect
github.com/hanzo-ds/go v1.0.0 // indirect
github.com/hanzo-ds/native v0.72.0 // indirect
github.com/hanzoai/ai v1.806.9 // indirect
github.com/hanzoai/beego/v2 v2.4.1 // indirect
github.com/hanzoai/csqlite v0.1.0 // indirect
github.com/hanzoai/dashscope-go-sdk v0.0.2 // indirect
github.com/hanzoai/dashscopego v0.6.0 // indirect
github.com/hanzoai/dbx v1.16.0 // indirect
github.com/hanzoai/go-openrouter v1.0.0 // indirect
github.com/hanzoai/iam v1.31.22 // indirect
github.com/hanzoai/iam v1.31.24 // indirect
github.com/hanzoai/pdf v1.2.0 // indirect
github.com/hanzoai/search-go v0.36.0 // indirect
github.com/hanzoai/tasks v1.51.0 // indirect
+13 -12
View File
@@ -105,8 +105,6 @@ github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03
github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo=
github.com/ClickHouse/ch-go v0.72.0 h1:DSyUd4kuxisOVXlZSXyIQYBAajSErZWC379651DpAMU=
github.com/ClickHouse/ch-go v0.72.0/go.mod h1:eeWlJavWDsMf5fZzLNCYaBiMxVoREJYK00aiZ9FJ3E0=
github.com/ClickHouse/clickhouse-go/v2 v2.46.0 h1:s3eRy+hYmu5uzotB6ZhDofgHu8kDgGN/fpmjxRkqSpk=
github.com/ClickHouse/clickhouse-go/v2 v2.46.0/go.mod h1:giJfUVlMkcfUEPVfRpt51zZaGEx9i17gCos8gBl392c=
github.com/Code-Hex/go-generics-cache v1.5.1 h1:6vhZGc5M7Y/YD8cIUcY8kcuQLB4cHR7U+0KMqAA0KcU=
github.com/Code-Hex/go-generics-cache v1.5.1/go.mod h1:qxcC9kRVrct9rHeiYpFWSoW1vxyillCVzX13KZG8dl4=
github.com/DATA-DOG/go-sqlmock v1.5.2 h1:OcvFkGmslmlZibjAjaHm3L//6LiuBgolP7OputlJIzU=
@@ -899,8 +897,14 @@ github.com/h2non/gock v1.2.0 h1:K6ol8rfrRkUOefooBC8elXoaNGYkpp7y2qcxGG6BzUE=
github.com/h2non/gock v1.2.0/go.mod h1:tNhoxHYW2W42cYkYb1WqzdbYIieALC99kpYr7rH/BQk=
github.com/h2non/parth v0.0.0-20190131123155-b4df798d6542 h1:2VTzZjLZBgl62/EtslCrtky5vbi9dd7HrQPQIx6wqiw=
github.com/h2non/parth v0.0.0-20190131123155-b4df798d6542/go.mod h1:Ow0tF8D4Kplbc8s8sSb3V2oUCygFHVp8gC3Dn6U4MNI=
github.com/hanzoai/ai v1.806.6 h1:G5aZ6oGr6ODRGjUI3AEJzcmjgJTeQNsS371L/Lk3aN4=
github.com/hanzoai/ai v1.806.6/go.mod h1:YpAU6oEoxfhOyN5ezVtwy1pw+xb9wcjmsgY8zuiAdiI=
github.com/hanzo-ds/go v1.0.0 h1:KYG5w1unGOal/G0eK6XrcGY1K5G3z4+x+PgpS+yj1SI=
github.com/hanzo-ds/go v1.0.0/go.mod h1:CNQfHeWrtKwsiKqoX8quhGCvj2mp5JOB1ZHIhi+J268=
github.com/hanzo-ds/mock v0.14.3 h1:z82cTtCqfWS2XELCd9CvXPTObRHiWxLfQbCWe4QKQos=
github.com/hanzo-ds/mock v0.14.3/go.mod h1:e4/Onlu7dbV1kJWxlfefPLcRDb35bvN7Uj/I4+quEVc=
github.com/hanzo-ds/native v0.72.0 h1:lQhH2dza3foJCHN6scIVsEpqdj/xzI1N0QlI94vtWh8=
github.com/hanzo-ds/native v0.72.0/go.mod h1:11FZtFdtfXMnmpybDEW6+uPRWFeC3TOT59YaV+lED+E=
github.com/hanzoai/ai v1.806.9 h1:D9mYBiWL7SWgrKHK7/gMxDBa4ZUovs3Al60NZzNftKw=
github.com/hanzoai/ai v1.806.9/go.mod h1:dpcWcO9pLWZaBFl+1yJeyazgLDn8gmbFynB/zwtxldg=
github.com/hanzoai/beego/v2 v2.4.1 h1:rChSPaueQtzriNxmt4jonobe6ujeqho0WTcPVYaH8Ac=
github.com/hanzoai/beego/v2 v2.4.1/go.mod h1:eDGRL/NJSqjoYHtWa5eMb2ze0gnlEabs1UO/naIfuX0=
github.com/hanzoai/csqlite v0.1.0 h1:suwC3dh0INlfP/U0Es6cDf6JNQ+2+GVLLATPWCUux6k=
@@ -925,18 +929,16 @@ github.com/hanzoai/go-openrouter v1.0.0 h1:oQTSk4mjBhdgbUMdVm6XxPQy4u0QNhQrEBuuE
github.com/hanzoai/go-openrouter v1.0.0/go.mod h1:wC86avp4HRT7ZrvdwOIs3ZmnwUSkSeX2+HfLAAEYHVo=
github.com/hanzoai/govaluate v0.1.0 h1:8Ajg4pNw2zFssXO2Ixj3fa73HawZUQiMwcP2NakUjXU=
github.com/hanzoai/govaluate v0.1.0/go.mod h1:0kZEEPJJmWLx67swZ7wAbE7xahX+CQzm9u/O4dNF5u4=
github.com/hanzoai/iam v1.31.22 h1:v4nER78fO/+mHswmmqGJIhDutB4eYOmG1T8dOnS6aF4=
github.com/hanzoai/iam v1.31.22/go.mod h1:Pc6N6JQUoaYZumoc4sj9ql07zvanonb7Bc5WukKegio=
github.com/hanzoai/otel-collector v0.144.9 h1:bXZa7g9ZKWHzIqmPMdOx2gyxlt/ICYgad0XBmjlOEvI=
github.com/hanzoai/otel-collector v0.144.9/go.mod h1:3I1FL2NAju9UeuYTZV34We5n5Nz36MgrKrWcKag314w=
github.com/hanzoai/iam v1.31.24 h1:pG9+e8wN+Kzf5p1PwTRSauOiZzcPQh0oa7PFgV3aTHw=
github.com/hanzoai/iam v1.31.24/go.mod h1:Pc6N6JQUoaYZumoc4sj9ql07zvanonb7Bc5WukKegio=
github.com/hanzoai/otel-collector v0.144.13 h1:y5FSPkMcFjXg/sLCsNSHrIBFhAv8tsNqti2HtyeFYeI=
github.com/hanzoai/otel-collector v0.144.13/go.mod h1:/dvqxL+d0KqFA8KXaH2xzsH06N7VPUzpyPQYtch2FDs=
github.com/hanzoai/pdf v1.2.0 h1:3/zYs4estaf6hpa3Ug/NgfYEQpmkmMClmRcREAP8KUo=
github.com/hanzoai/pdf v1.2.0/go.mod h1:Lb5LhbMY7QvrxxMeKbI22Kvoz4XQhHgJV7Erq0U8zHU=
github.com/hanzoai/search-go v0.36.0 h1:bQfbAs/bc/s3qZDCtSqEAxp48koHkb0Z4ezUknt2AQc=
github.com/hanzoai/search-go v0.36.0/go.mod h1:jdcYUdG6exMfRfJvilWhaNdAR8XWQRPvZtuRxQBzn34=
github.com/hanzoai/sqlbuilder v1.39.2 h1:YDfZlCfgwRYSYag5LjeuclbQ5CRvqLehOmeDdTnzA6M=
github.com/hanzoai/sqlbuilder v1.39.2/go.mod h1:XlCgRiiXt/5PWeXG7OValozMoZN+ywY1T0hOwqZvnxo=
github.com/hanzoai/sqlite v0.2.3 h1:X9AmaAro1hCsYY/ykI/nD5wiTCPpHhtBkUqe+PfSzuM=
github.com/hanzoai/sqlite v0.2.3/go.mod h1:jhU6OMiNmNmjFHOgfIskse/RImYEe7rUTm6+rMKMRzg=
github.com/hanzoai/sqlite v0.3.0 h1:Siqa7b89CgSCteg5ubXOCQiPRxYIJGb9kMemwjXMIUQ=
github.com/hanzoai/sqlite v0.3.0/go.mod h1:/eumCoj+3FLbLXr3jZomamv2DdJvh4No2nfYDdlGgUU=
github.com/hanzoai/tasks v1.51.0 h1:Mf1dyL8Y2EQ/m8cIc5+i8BdYvob6fZek9bj8O8sHJ3Y=
@@ -1273,6 +1275,7 @@ github.com/mattn/go-isatty v0.0.22 h1:j8l17JJ9i6VGPUFUYoTUKPSgKe/83EYU2zBC7YNKMw
github.com/mattn/go-isatty v0.0.22/go.mod h1:ZXfXG4SQHsB/w3ZeOYbR0PrPwLy+n6xiMrJlRFqopa4=
github.com/mattn/go-runewidth v0.0.21 h1:jJKAZiQH+2mIinzCJIaIG9Be1+0NR+5sz/lYEEjdM8w=
github.com/mattn/go-runewidth v0.0.21/go.mod h1:XBkDxAl56ILZc9knddidhrOlY5R/pDhgLpndooCuJAs=
github.com/mattn/go-sqlite3 v2.0.3+incompatible/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc=
github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0=
github.com/matttproud/golang_protobuf_extensions v1.0.4 h1:mmDVorXM7PCGKw94cs5zkfA9PSy5pEvNWRP0ET0TIVo=
github.com/matttproud/golang_protobuf_extensions v1.0.4/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4=
@@ -1652,8 +1655,6 @@ github.com/spf13/pflag v1.0.10/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3A
github.com/spf13/viper v1.13.0/go.mod h1:Icm2xNL3/8uyh/wFuB1jI7TiTNKp8632Nwegu+zgdYw=
github.com/spf13/viper v1.20.1 h1:ZMi+z/lvLyPSCoNtFCpqjy0S4kPbirhpTMwl8BkW9X4=
github.com/spf13/viper v1.20.1/go.mod h1:P9Mdzt1zoHIG8m2eZQinpiBjo6kCmZSKBClNNqjJvu4=
github.com/srikanthccv/ClickHouse-go-mock v0.12.0 h1:KUzaWTwuqMc2uf5FylM/oAcTFdE2DdZjvISm9V0/NAA=
github.com/srikanthccv/ClickHouse-go-mock v0.12.0/go.mod h1:1oUmLtXEXOyS0EEWVKlKEfLfv9y02agCMAvD3tVnhlo=
github.com/ssdb/gossdb v0.0.0-20180723034631-88f6b59b84ec/go.mod h1:QBvMkMya+gXctz3kmljlUCu/yB3GZ6oee+dUozsezQE=
github.com/stackitcloud/stackit-sdk-go/core v0.23.0 h1:zPrOhf3Xe47rKRs1fg/AqKYUiJJRYjdcv+3qsS50mEs=
github.com/stackitcloud/stackit-sdk-go/core v0.23.0/go.mod h1:osMglDby4csGZ5sIfhNyYq1bS1TxIdPY88+skE/kkmI=
+1 -1
View File
@@ -10,7 +10,7 @@
// satisfies zapmetricreceiver.Handler, so a receiver dispatches each decoded
// batch straight into the datastore:
//
// w := datastoremetrics.NewWriter(store.DatastoreDB())
// w := datastoremetrics.NewWriter(store.Datastore())
// rcv, _ := zapmetricreceiver.New(zapmetricreceiver.Config{OnBatch: w.WriteMetrics})
//
// WHY THIS EXISTS — the unblock. The stock histogram exporter serialises OTLP
@@ -21,7 +21,7 @@ func (m *module) Collect(ctx context.Context, _ valuer.UUID) (map[string]any, er
"SELECT (SELECT count() FROM (SELECT 1 FROM %s WHERE metric_name LIKE 'system.%%' LIMIT 1)), (SELECT count() FROM (SELECT 1 FROM %s WHERE metric_name LIKE 'k8s.%%' LIMIT 1))",
metadataTable, metadataTable,
)
if err := m.telemetryStore.DatastoreDB().QueryRow(ctx, query).Scan(&systemMetricCount, &k8sMetricCount); err == nil {
if err := m.telemetryStore.Datastore().QueryRow(ctx, query).Scan(&systemMetricCount, &k8sMetricCount); err == nil {
stats["telemetry.metrics.system.exists"] = systemMetricCount > 0
stats["telemetry.metrics.k8s.exists"] = k8sMetricCount > 0
} else {
@@ -461,7 +461,7 @@ func (m *module) getEarliestMetricTime(ctx context.Context, metricNames []string
query, args := sb.BuildWithFlavor(datastoresql.Flavor)
var minFirstReported uint64
if err := m.telemetryStore.DatastoreDB().QueryRow(ctx, query, args...).Scan(&minFirstReported); err != nil {
if err := m.telemetryStore.Datastore().QueryRow(ctx, query, args...).Scan(&minFirstReported); err != nil {
return 0, err
}
@@ -487,7 +487,7 @@ func (m *module) getMetricsExistence(ctx context.Context, metricNames []string)
query, args := sb.BuildWithFlavor(datastoresql.Flavor)
rows, err := m.telemetryStore.DatastoreDB().Query(ctx, query, args...)
rows, err := m.telemetryStore.Datastore().Query(ctx, query, args...)
if err != nil {
return nil, err
}
@@ -535,7 +535,7 @@ func (m *module) getAttributesExistence(ctx context.Context, metricNames, attrNa
query, args := sb.BuildWithFlavor(datastoresql.Flavor)
rows, err := m.telemetryStore.DatastoreDB().Query(ctx, query, args...)
rows, err := m.telemetryStore.Datastore().Query(ctx, query, args...)
if err != nil {
return nil, err
}
@@ -706,7 +706,7 @@ func (m *module) getMetadata(
outerQuery, _ := outerSB.BuildWithFlavor(datastoresql.Flavor)
// All ? params are in innerArgs; outer query introduces none of its own.
rows, err := m.telemetryStore.DatastoreDB().Query(ctx, outerQuery, innerArgs...)
rows, err := m.telemetryStore.Datastore().Query(ctx, outerQuery, innerArgs...)
if err != nil {
return nil, err
}
@@ -131,7 +131,7 @@ func (m *module) getPerGroupHostStatusCounts(
query, args := sb.BuildWithFlavor(datastoresql.Flavor)
rows, err := m.telemetryStore.DatastoreDB().Query(ctx, query, args...)
rows, err := m.telemetryStore.Datastore().Query(ctx, query, args...)
if err != nil {
return nil, err
}
@@ -376,7 +376,7 @@ func (m *module) getActiveHosts(ctx context.Context, metricNames []string, hostN
sb := m.getActiveHostsQuery(metricNames, hostNameAttr, sinceUnixMilli)
query, args := sb.BuildWithFlavor(datastoresql.Flavor)
rows, err := m.telemetryStore.DatastoreDB().Query(ctx, query, args...)
rows, err := m.telemetryStore.Datastore().Query(ctx, query, args...)
if err != nil {
return nil, err
}
@@ -281,7 +281,7 @@ func (m *module) getPerGroupNodeConditionCounts(
finalSQL := querybuilder.CombineCTEs(cteFragments) + countNodesPerConditionSQL
finalArgs := querybuilder.PrependArgs([][]any{timeSeriesFPsArgs, latestConditionPerNodeArgs}, nil)
rows, err := m.telemetryStore.DatastoreDB().Query(ctx, finalSQL, finalArgs...)
rows, err := m.telemetryStore.Datastore().Query(ctx, finalSQL, finalArgs...)
if err != nil {
return nil, err
}
@@ -304,7 +304,7 @@ func (m *module) getPerGroupPodPhaseCounts(
finalSQL := querybuilder.CombineCTEs(cteFragments) + countPodsPerPhaseSQL
finalArgs := querybuilder.PrependArgs([][]any{timeSeriesFPsArgs, latestPhasePerPodArgs}, nil)
rows, err := m.telemetryStore.DatastoreDB().Query(ctx, finalSQL, finalArgs...)
rows, err := m.telemetryStore.Datastore().Query(ctx, finalSQL, finalArgs...)
if err != nil {
return nil, err
}
@@ -111,7 +111,7 @@ func (m *module) listMeterMetrics(ctx context.Context, params *metricsexplorerty
query, args := sb.BuildWithFlavor(datastoresql.Flavor)
valueCtx := ctxtypes.SetDatastoreMaxThreads(ctx, m.config.TelemetryStore.Threads)
db := m.telemetryStore.DatastoreDB()
db := m.telemetryStore.Datastore()
rows, err := db.Query(valueCtx, query, args...)
if err != nil {
return nil, errors.WrapInternalf(err, errors.CodeInternal, "failed to list meter metrics")
@@ -195,7 +195,7 @@ func (m *module) listMetrics(ctx context.Context, orgID valuer.UUID, params *met
}
valueCtx := ctxtypes.SetDatastoreMaxThreads(ctx, m.config.TelemetryStore.Threads)
db := m.telemetryStore.DatastoreDB()
db := m.telemetryStore.Datastore()
rows, err := db.Query(valueCtx, query, args...)
if err != nil {
return nil, errors.WrapInternalf(err, errors.CodeInternal, "failed to list metrics")
@@ -519,7 +519,7 @@ func (m *module) CheckMetricExists(ctx context.Context, orgID valuer.UUID, metri
query, args := sb.BuildWithFlavor(datastoresql.Flavor)
db := m.telemetryStore.DatastoreDB()
db := m.telemetryStore.Datastore()
var exists bool
valueCtx := ctxtypes.SetDatastoreMaxThreads(ctx, m.config.TelemetryStore.Threads)
@@ -541,7 +541,7 @@ func (m *module) HasNonO11yMetrics(ctx context.Context) (bool, error) {
query, args := sb.BuildWithFlavor(datastoresql.Flavor)
db := m.telemetryStore.DatastoreDB()
db := m.telemetryStore.Datastore()
var hasMetrics bool
valueCtx := ctxtypes.SetDatastoreMaxThreads(ctx, m.config.TelemetryStore.Threads)
@@ -588,7 +588,7 @@ func (m *module) InspectMetrics(
tsSb.Limit(50)
tsQuery, tsArgs := tsSb.BuildWithFlavor(datastoresql.Flavor)
db := m.telemetryStore.DatastoreDB()
db := m.telemetryStore.Datastore()
valueCtx := ctxtypes.SetDatastoreMaxThreads(ctx, m.config.TelemetryStore.Threads)
tsRows, err := db.Query(valueCtx, tsQuery, tsArgs...)
@@ -726,7 +726,7 @@ func (m *module) fetchUpdatedMetadata(ctx context.Context, orgID valuer.UUID, me
query, args := sb.BuildWithFlavor(datastoresql.Flavor)
valueCtx := ctxtypes.SetDatastoreMaxThreads(ctx, m.config.TelemetryStore.Threads)
db := m.telemetryStore.DatastoreDB()
db := m.telemetryStore.Datastore()
rows, err := db.Query(valueCtx, query, args...)
if err != nil {
return nil, errors.WrapInternalf(err, errors.CodeInternal, "failed to fetch updated metrics metadata")
@@ -786,7 +786,7 @@ func (m *module) fetchTimeseriesMetadata(ctx context.Context, orgID valuer.UUID,
query, args := sb.BuildWithFlavor(datastoresql.Flavor)
valueCtx := ctxtypes.SetDatastoreMaxThreads(ctx, m.config.TelemetryStore.Threads)
db := m.telemetryStore.DatastoreDB()
db := m.telemetryStore.Datastore()
rows, err := db.Query(valueCtx, query, args...)
if err != nil {
return nil, errors.WrapInternalf(err, errors.CodeInternal, "failed to fetch metrics metadata from timeseries table")
@@ -902,7 +902,7 @@ func (m *module) checkForLabelInMetric(ctx context.Context, metricName string, l
valueCtx := ctxtypes.SetDatastoreMaxThreads(ctx, m.config.TelemetryStore.Threads)
var hasLabel bool
db := m.telemetryStore.DatastoreDB()
db := m.telemetryStore.Datastore()
err := db.QueryRow(valueCtx, query, args...).Scan(&hasLabel)
if err != nil {
return false, errors.WrapInternalf(err, errors.CodeInternal, "error checking metric label %q", label)
@@ -931,7 +931,7 @@ func (m *module) insertMetricsMetadata(ctx context.Context, orgID valuer.UUID, r
query, args := ib.BuildWithFlavor(datastoresql.Flavor)
valueCtx := ctxtypes.SetDatastoreMaxThreads(ctx, m.config.TelemetryStore.Threads)
db := m.telemetryStore.DatastoreDB()
db := m.telemetryStore.Datastore()
if err := db.Exec(valueCtx, query, args...); err != nil {
return errors.WrapInternalf(err, errors.CodeInternal, "failed to insert metrics metadata")
}
@@ -1178,7 +1178,7 @@ func (m *module) fetchMetricsStatsWithSamples(
}
valueCtx := ctxtypes.SetDatastoreMaxThreads(ctx, m.config.TelemetryStore.Threads)
db := m.telemetryStore.DatastoreDB()
db := m.telemetryStore.Datastore()
rows, err := db.Query(valueCtx, query, args...)
if err != nil {
return nil, 0, errors.WrapInternalf(err, errors.CodeInternal, "failed to execute metrics stats with samples query")
@@ -1302,7 +1302,7 @@ func (m *module) computeTimeseriesTreemap(ctx context.Context, orgID valuer.UUID
}
valueCtx := ctxtypes.SetDatastoreMaxThreads(ctx, m.config.TelemetryStore.Threads)
db := m.telemetryStore.DatastoreDB()
db := m.telemetryStore.Datastore()
rows, err := db.Query(valueCtx, query, args...)
if err != nil {
return nil, errors.WrapInternalf(err, errors.CodeInternal, "failed to execute timeseries treemap query")
@@ -1525,7 +1525,7 @@ func (m *module) computeSamplesTreemap(ctx context.Context, orgID valuer.UUID, r
}
valueCtx := ctxtypes.SetDatastoreMaxThreads(ctx, m.config.TelemetryStore.Threads)
db := m.telemetryStore.DatastoreDB()
db := m.telemetryStore.Datastore()
rows, err := db.Query(valueCtx, query, args...)
if err != nil {
return nil, errors.WrapInternalf(err, errors.CodeInternal, "failed to execute samples treemap query")
@@ -1559,7 +1559,7 @@ func (m *module) getMetricDataPoints(ctx context.Context, metricName string) (ui
query, args := sb.BuildWithFlavor(datastoresql.Flavor)
db := m.telemetryStore.DatastoreDB()
db := m.telemetryStore.Datastore()
var dataPoints uint64
valueCtx := ctxtypes.SetDatastoreMaxThreads(ctx, m.config.TelemetryStore.Threads)
err := db.QueryRow(valueCtx, query, args...).Scan(&dataPoints)
@@ -1580,7 +1580,7 @@ func (m *module) getMetricLastReceived(ctx context.Context, metricName string) (
sb.Where(sb.E("metric_name", metricName))
query, args := sb.BuildWithFlavor(datastoresql.Flavor)
db := m.telemetryStore.DatastoreDB()
db := m.telemetryStore.Datastore()
var lastReceived sql.NullInt64
valueCtx := ctxtypes.SetDatastoreMaxThreads(ctx, m.config.TelemetryStore.Threads)
err := db.QueryRow(valueCtx, query, args...).Scan(&lastReceived)
@@ -1606,7 +1606,7 @@ func (m *module) getTotalTimeSeriesForMetricName(ctx context.Context, metricName
query, args := sb.BuildWithFlavor(datastoresql.Flavor)
db := m.telemetryStore.DatastoreDB()
db := m.telemetryStore.Datastore()
var timeSeriesCount uint64
valueCtx := ctxtypes.SetDatastoreMaxThreads(ctx, m.config.TelemetryStore.Threads)
err := db.QueryRow(valueCtx, query, args...).Scan(&timeSeriesCount)
@@ -1630,7 +1630,7 @@ func (m *module) getActiveTimeSeriesForMetricName(ctx context.Context, metricNam
sb.Where(sb.GTE("unix_milli", milli))
query, args := sb.BuildWithFlavor(datastoresql.Flavor)
db := m.telemetryStore.DatastoreDB()
db := m.telemetryStore.Datastore()
valueCtx := ctxtypes.SetDatastoreMaxThreads(ctx, m.config.TelemetryStore.Threads)
var activeTimeSeries uint64
err := db.QueryRow(valueCtx, query, args...).Scan(&activeTimeSeries)
@@ -1670,7 +1670,7 @@ func (m *module) fetchMetricAttributes(ctx context.Context, metricName string, s
query, args := sb.BuildWithFlavor(datastoresql.Flavor)
valueCtx := ctxtypes.SetDatastoreMaxThreads(ctx, m.config.TelemetryStore.Threads)
db := m.telemetryStore.DatastoreDB()
db := m.telemetryStore.Datastore()
rows, err := db.Query(valueCtx, query, args...)
if err != nil {
return nil, errors.WrapInternalf(err, errors.CodeInternal, "failed to fetch metric attributes")
+1 -1
View File
@@ -113,7 +113,7 @@ func (m *module) createIndexes(ctx context.Context, indexes []schemamigrator.Ind
Index: index,
}
op := alterStmt.OnCluster(m.telemetryStore.Cluster())
if err := m.telemetryStore.DatastoreDB().Exec(ctx, op.ToSQL()); err != nil {
if err := m.telemetryStore.Datastore().Exec(ctx, op.ToSQL()); err != nil {
return errors.WrapInternalf(err, CodeFailedToCreateIndex, "failed to create index")
}
}
@@ -59,7 +59,7 @@ func (s *store) AddRuleStateHistory(ctx context.Context, entries []rulestatehist
)
insertQuery, _ := ib.BuildWithFlavor(datastoresql.Flavor)
statement, err := s.telemetryStore.DatastoreDB().PrepareBatch(
statement, err := s.telemetryStore.Datastore().PrepareBatch(
ctx,
insertQuery,
)
@@ -98,7 +98,7 @@ func (s *store) GetLastSavedRuleStateHistory(ctx context.Context, ruleID string)
query, args := sb.BuildWithFlavor(datastoresql.Flavor)
history := make([]rulestatehistorytypes.RuleStateHistory, 0)
if err := s.telemetryStore.DatastoreDB().Select(ctx, &history, query, args...); err != nil {
if err := s.telemetryStore.Datastore().Select(ctx, &history, query, args...); err != nil {
return nil, err
}
return history, nil
@@ -136,7 +136,7 @@ func (s *store) ReadRuleStateHistoryByRuleID(ctx context.Context, ruleID string,
selectQuery, args := sb.BuildWithFlavor(datastoresql.Flavor)
history := []rulestatehistorytypes.RuleStateHistory{}
if err := s.telemetryStore.DatastoreDB().Select(ctx, &history, selectQuery, args...); err != nil {
if err := s.telemetryStore.Datastore().Select(ctx, &history, selectQuery, args...); err != nil {
return nil, 0, err
}
@@ -150,7 +150,7 @@ func (s *store) ReadRuleStateHistoryByRuleID(ctx context.Context, ruleID string,
var total uint64
countQuery, countArgs := countSB.BuildWithFlavor(datastoresql.Flavor)
if err := s.telemetryStore.DatastoreDB().QueryRow(ctx, countQuery, countArgs...).Scan(&total); err != nil {
if err := s.telemetryStore.Datastore().QueryRow(ctx, countQuery, countArgs...).Scan(&total); err != nil {
return nil, 0, err
}
@@ -186,7 +186,7 @@ func (s *store) ReadRuleStateHistoryFilterKeysByRuleID(ctx context.Context, rule
sb.Limit(int(limit + 1))
selectQuery, args := sb.BuildWithFlavor(datastoresql.Flavor)
rows, err := s.telemetryStore.DatastoreDB().Query(ctx, selectQuery, args...)
rows, err := s.telemetryStore.Datastore().Query(ctx, selectQuery, args...)
if err != nil {
return nil, err
}
@@ -258,7 +258,7 @@ func (s *store) ReadRuleStateHistoryFilterValuesByRuleID(ctx context.Context, ru
sb.Limit(int(limit + 1))
selectQuery, args := sb.BuildWithFlavor(datastoresql.Flavor)
rows, err := s.telemetryStore.DatastoreDB().Query(ctx, selectQuery, args...)
rows, err := s.telemetryStore.Datastore().Query(ctx, selectQuery, args...)
if err != nil {
return nil, err
}
@@ -321,7 +321,7 @@ func (s *store) ReadRuleStateHistoryTopContributorsByRuleID(ctx context.Context,
selectQuery, args := sb.BuildWithFlavor(datastoresql.Flavor)
contributors := []rulestatehistorytypes.RuleStateHistoryContributor{}
if err := s.telemetryStore.DatastoreDB().Select(ctx, &contributors, selectQuery, args...); err != nil {
if err := s.telemetryStore.Datastore().Select(ctx, &contributors, selectQuery, args...); err != nil {
return nil, err
}
return contributors, nil
@@ -374,7 +374,7 @@ GROUP BY unix_milli`,
args = append(args, outerArgs...)
windows := []rulestatehistorytypes.GettableRuleStateWindow{}
if err := s.telemetryStore.DatastoreDB().Select(ctx, &windows, selectQuery, args...); err != nil {
if err := s.telemetryStore.Datastore().Select(ctx, &windows, selectQuery, args...); err != nil {
return nil, err
}
@@ -388,7 +388,7 @@ func (s *store) GetAvgResolutionTime(ctx context.Context, ruleID string, query *
selectQuery, args := sb.BuildWithFlavor(datastoresql.Flavor)
var avg float64
if err := s.telemetryStore.DatastoreDB().QueryRow(ctx, selectQuery, args...).Scan(&avg); err != nil {
if err := s.telemetryStore.Datastore().QueryRow(ctx, selectQuery, args...).Scan(&avg); err != nil {
return 0, err
}
return avg, nil
@@ -420,7 +420,7 @@ func (s *store) GetTotalTriggers(ctx context.Context, ruleID string, query *rule
selectQuery, args := sb.BuildWithFlavor(datastoresql.Flavor)
var total uint64
if err := s.telemetryStore.DatastoreDB().QueryRow(ctx, selectQuery, args...).Scan(&total); err != nil {
if err := s.telemetryStore.Datastore().QueryRow(ctx, selectQuery, args...).Scan(&total); err != nil {
return 0, err
}
return total, nil
@@ -446,7 +446,7 @@ func (s *store) GetTriggersByInterval(ctx context.Context, ruleID string, query
}
func (s *store) querySeries(ctx context.Context, selectQuery string, args ...any) (*qbtypes.TimeSeries, error) {
rows, err := s.telemetryStore.DatastoreDB().Query(ctx, selectQuery, args...)
rows, err := s.telemetryStore.Datastore().Query(ctx, selectQuery, args...)
if err != nil {
return nil, err
}
+7 -7
View File
@@ -127,7 +127,7 @@ func (s *eventStore) ensureSchema(ctx context.Context) error {
if s.ensureDone {
return nil
}
conn := s.store.DatastoreDB()
conn := s.store.Datastore()
if err := conn.Exec(ctx, fmt.Sprintf("CREATE DATABASE IF NOT EXISTS %s", s.db)); err != nil {
return err
}
@@ -145,7 +145,7 @@ func (s *eventStore) Insert(ctx context.Context, orgID, projectID valuer.UUID, e
if err := s.ensureSchema(ctx); err != nil {
return err
}
batch, err := s.store.DatastoreDB().PrepareBatch(ctx,
batch, err := s.store.Datastore().PrepareBatch(ctx,
fmt.Sprintf(insertSQL, s.db, s.table), driver.WithReleaseConnection())
if err != nil {
return err
@@ -176,7 +176,7 @@ func (s *eventStore) Discover(ctx context.Context, orgID, projectID valuer.UUID,
if err != nil {
return nil, err
}
rows, err := s.store.DatastoreDB().Query(ctx, sql, args...)
rows, err := s.store.Datastore().Query(ctx, sql, args...)
if err != nil {
return nil, err
}
@@ -240,7 +240,7 @@ func (s *eventStore) DistinctFingerprints(ctx context.Context, orgID, projectID
return nil, err
}
sql, args := buildDistinctFingerprints(s.db, s.table, orgID.String(), projectID.String(), w)
rows, err := s.store.DatastoreDB().Query(ctx, sql, args...)
rows, err := s.store.Datastore().Query(ctx, sql, args...)
if err != nil {
return nil, err
}
@@ -261,7 +261,7 @@ func (s *eventStore) ListTraces(ctx context.Context, orgID, projectID valuer.UUI
return nil, err
}
sql, args := buildListTraces(s.db, s.table, orgID.String(), projectID.String(), w, limit)
rows, err := s.store.DatastoreDB().Query(ctx, sql, args...)
rows, err := s.store.Datastore().Query(ctx, sql, args...)
if err != nil {
return nil, err
}
@@ -285,7 +285,7 @@ func (s *eventStore) Stats(ctx context.Context, orgID, projectID valuer.UUID, fi
if err != nil {
return nil, err
}
rows, err := s.store.DatastoreDB().Query(ctx, sql, args...)
rows, err := s.store.Datastore().Query(ctx, sql, args...)
if err != nil {
return nil, err
}
@@ -303,7 +303,7 @@ func (s *eventStore) Stats(ctx context.Context, orgID, projectID valuer.UUID, fi
// queryEvents runs a fixed-projection (selectColumns) query and scans rows into Events.
func (s *eventStore) queryEvents(ctx context.Context, sql string, args []any) ([]*sentrytypes.Event, error) {
rows, err := s.store.DatastoreDB().Query(ctx, sql, args...)
rows, err := s.store.Datastore().Query(ctx, sql, args...)
if err != nil {
return nil, err
}
+1 -1
View File
@@ -38,7 +38,7 @@ func NewModule(q querier.Querier, ts telemetrystore.TelemetryStore) services.Mod
func (m *module) FetchTopLevelOperations(ctx context.Context, start time.Time, services []string) (map[string][]string, error) {
ctx = m.withServicesContext(ctx, "FetchTopLevelOperations")
db := m.TelemetryStore.DatastoreDB()
db := m.TelemetryStore.Datastore()
query := fmt.Sprintf("SELECT name, serviceName, max(time) as ts FROM %s.%s WHERE time >= @start", telemetrytraces.DBName, telemetrytraces.TopLevelOperationsTableName)
args := []any{datastore.Named("start", start)}
if len(services) > 0 {
@@ -54,7 +54,7 @@ func (s *traceStore) GetTraceSummary(ctx context.Context, traceID string) (*span
query, args := sb.BuildWithFlavor(datastoresql.Flavor)
var summary spantypes.TraceSummary
err := s.telemetryStore.DatastoreDB().QueryRow(ctx, query, args...).Scan(
err := s.telemetryStore.Datastore().QueryRow(ctx, query, args...).Scan(
&summary.TraceID, &summary.Start, &summary.End, &summary.NumSpans,
)
if err != nil {
@@ -83,7 +83,7 @@ func (s *traceStore) GetTraceSpans(ctx context.Context, traceID string, summary
spantypes.TraceDB, spantypes.TraceTable,
)
var spanItems []spantypes.StorableSpan
err := s.telemetryStore.DatastoreDB().Select(
err := s.telemetryStore.Datastore().Select(
ctx, &spanItems, query,
traceID,
summary.Start.Unix()-1800,
@@ -113,7 +113,7 @@ func (s *traceStore) GetMinimalSpans(ctx context.Context, traceID string, start,
query, args := sb.BuildWithFlavor(datastoresql.Flavor)
var spans []spantypes.MinimalSpan
if err := s.telemetryStore.DatastoreDB().Select(ctx, &spans, query, args...); err != nil {
if err := s.telemetryStore.Datastore().Select(ctx, &spans, query, args...); err != nil {
return nil, errors.WrapInternalf(err, errors.CodeInternal, "error querying minimal spans")
}
return spans, nil
@@ -150,7 +150,7 @@ func (s *traceStore) GetTraceSpansByIDs(ctx context.Context, traceID string, sta
query, args := sb.BuildWithFlavor(datastoresql.Flavor)
var spans []spantypes.StorableSpan
if err := s.telemetryStore.DatastoreDB().Select(ctx, &spans, query, args...); err != nil {
if err := s.telemetryStore.Datastore().Select(ctx, &spans, query, args...); err != nil {
return nil, errors.WrapInternalf(err, errors.CodeInternal, "error querying trace spans by IDs")
}
return spans, nil
@@ -191,7 +191,7 @@ func (s *traceStore) GetFlamegraphSpans(ctx context.Context, traceID string, sta
query, args := sb.BuildWithFlavor(datastoresql.Flavor)
var spans []spantypes.StorableSpan
if err := s.telemetryStore.DatastoreDB().Select(ctx, &spans, query, args...); err != nil {
if err := s.telemetryStore.Datastore().Select(ctx, &spans, query, args...); err != nil {
return nil, errors.WrapInternalf(err, errors.CodeInternal, "error querying flamegraph spans")
}
return spans, nil
@@ -215,7 +215,7 @@ func (s *traceStore) GetSpanCountByField(ctx context.Context, traceID string, su
query, args := sb.BuildWithFlavor(datastoresql.Flavor)
var rows []spanCountRow
if err := s.telemetryStore.DatastoreDB().Select(ctx, &rows, query, args...); err != nil {
if err := s.telemetryStore.Datastore().Select(ctx, &rows, query, args...); err != nil {
return nil, errors.WrapInternalf(err, errors.CodeInternal, "error querying span count by field")
}
result := make(map[string]uint64, len(rows))
@@ -269,7 +269,7 @@ func (s *traceStore) GetSpanDurationByField(ctx context.Context, traceID string,
query, args := sb.BuildWithFlavor(datastoresql.Flavor)
var rows []spanDurationRow
if err := s.telemetryStore.DatastoreDB().Select(ctx, &rows, query, args...); err != nil {
if err := s.telemetryStore.Datastore().Select(ctx, &rows, query, args...); err != nil {
return nil, errors.WrapInternalf(err, errors.CodeInternal, "error querying span duration by field")
}
result := make(map[string]uint64, len(rows))
+3 -3
View File
@@ -174,7 +174,7 @@ func (client *client) queryToDatastoreQuery(_ context.Context, query *prompb.Que
func (client *client) getFingerprintsFromDatastoreQuery(ctx context.Context, query string, args []any) (map[uint64][]prompb.Label, error) {
ctx = client.withDatastorePrometheusContext(ctx, "getFingerprintsFromDatastoreQuery")
rows, err := client.telemetryStore.DatastoreDB().Query(ctx, query, args...)
rows, err := client.telemetryStore.Datastore().Query(ctx, query, args...)
if err != nil {
return nil, err
}
@@ -226,7 +226,7 @@ func (client *client) querySamples(ctx context.Context, start int64, end int64,
query, allArgs := buildSamplesQuery(start, end, metricName, subQuery, args)
rows, err := client.telemetryStore.DatastoreDB().Query(ctx, query, allArgs...)
rows, err := client.telemetryStore.Datastore().Query(ctx, query, allArgs...)
if err != nil {
return nil, err
}
@@ -292,7 +292,7 @@ func (client *client) querySamples(ctx context.Context, start int64, end int64,
func (client *client) queryRaw(ctx context.Context, query string, ts int64) (*prompb.QueryResult, error) {
ctx = client.withDatastorePrometheusContext(ctx, "queryRaw")
rows, err := client.telemetryStore.DatastoreDB().Query(ctx, query)
rows, err := client.telemetryStore.Datastore().Query(ctx, query)
if err != nil {
return nil, err
}
+1 -1
View File
@@ -364,7 +364,7 @@ func (q *builderQuery[T]) executeWithContext(ctx context.Context, query string,
elapsed += p.Elapsed
}))
rows, err := q.telemetryStore.DatastoreDB().Query(ctx, query, args...)
rows, err := q.telemetryStore.Datastore().Query(ctx, query, args...)
if err != nil {
if errors.Is(err, context.DeadlineExceeded) {
return nil, errors.Newf(errors.TypeTimeout, errors.CodeTimeout, "Query timed out").
+3 -3
View File
@@ -23,7 +23,7 @@ func (q *querier) Collect(ctx context.Context, _ valuer.UUID) (map[string]any, e
traces uint64
tracesLastSeenAt time.Time
)
if err := q.telemetryStore.DatastoreDB().QueryRow(ctx, fmt.Sprintf("SELECT COUNT(*), max(timestamp) FROM %s", tracesTable)).Scan(&traces, &tracesLastSeenAt); err == nil {
if err := q.telemetryStore.Datastore().QueryRow(ctx, fmt.Sprintf("SELECT COUNT(*), max(timestamp) FROM %s", tracesTable)).Scan(&traces, &tracesLastSeenAt); err == nil {
stats["telemetry.traces.count"] = traces
if tracesLastSeenAt.Unix() != 0 {
stats["telemetry.traces.last_observed.time"] = tracesLastSeenAt.UTC()
@@ -37,7 +37,7 @@ func (q *querier) Collect(ctx context.Context, _ valuer.UUID) (map[string]any, e
logs uint64
logsLastSeenAt time.Time
)
if err := q.telemetryStore.DatastoreDB().QueryRow(ctx, fmt.Sprintf("SELECT COUNT(*), fromUnixTimestamp64Nano(max(timestamp)) FROM %s", logsTable)).Scan(&logs, &logsLastSeenAt); err == nil {
if err := q.telemetryStore.Datastore().QueryRow(ctx, fmt.Sprintf("SELECT COUNT(*), fromUnixTimestamp64Nano(max(timestamp)) FROM %s", logsTable)).Scan(&logs, &logsLastSeenAt); err == nil {
stats["telemetry.logs.count"] = logs
if logsLastSeenAt.Unix() != 0 {
stats["telemetry.logs.last_observed.time"] = logsLastSeenAt.UTC()
@@ -51,7 +51,7 @@ func (q *querier) Collect(ctx context.Context, _ valuer.UUID) (map[string]any, e
metrics uint64
metricsLastSeenAt time.Time
)
if err := q.telemetryStore.DatastoreDB().QueryRow(ctx, fmt.Sprintf("SELECT COUNT(*), toDateTime(max(unix_milli) / 1000) FROM %s", metricsTable)).Scan(&metrics, &metricsLastSeenAt); err == nil {
if err := q.telemetryStore.Datastore().QueryRow(ctx, fmt.Sprintf("SELECT COUNT(*), toDateTime(max(unix_milli) / 1000) FROM %s", metricsTable)).Scan(&metrics, &metricsLastSeenAt); err == nil {
stats["telemetry.metrics.count"] = metrics
if metricsLastSeenAt.Unix() != 0 {
stats["telemetry.metrics.last_observed.time"] = metricsLastSeenAt.UTC()
+1 -1
View File
@@ -129,7 +129,7 @@ func (q *chSQLQuery) Execute(ctx context.Context) (*qbtypes.Result, error) {
return nil, err
}
rows, err := q.telemetryStore.DatastoreDB().Query(ctx, query, q.args...)
rows, err := q.telemetryStore.Datastore().Query(ctx, query, q.args...)
if err != nil {
return nil, err
}
+1 -1
View File
@@ -76,7 +76,7 @@ func (q *traceOperatorQuery) executeWithContext(ctx context.Context, query strin
elapsed += p.Elapsed
}))
rows, err := q.telemetryStore.DatastoreDB().Query(ctx, query, args...)
rows, err := q.telemetryStore.Datastore().Query(ctx, query, args...)
if err != nil {
return nil, err
}
@@ -191,7 +191,7 @@ func NewReader(
traceLocalTableName := options.primary.TraceLocalTableNameV3
return &DatastoreReader{
db: telemetryStore.DatastoreDB(),
db: telemetryStore.Datastore(),
logger: logger,
prometheus: prometheus,
sqlDB: sqlDB,
@@ -59,7 +59,7 @@ func (migration *queryBuilderV5Migration) getTraceDuplicateKeys(ctx context.Cont
ORDER BY tagKey
`
rows, err := migration.telemetryStore.DatastoreDB().Query(ctx, query)
rows, err := migration.telemetryStore.Datastore().Query(ctx, query)
if err != nil {
migration.logger.WarnContext(ctx, "failed to query trace duplicate keys", errors.Attr(err))
return nil, nil
@@ -90,7 +90,7 @@ func (migration *queryBuilderV5Migration) getLogDuplicateKeys(ctx context.Contex
ORDER BY name
`
rows, err := migration.telemetryStore.DatastoreDB().Query(ctx, query)
rows, err := migration.telemetryStore.Datastore().Query(ctx, query)
if err != nil {
migration.logger.WarnContext(ctx, "failed to query log duplicate keys", errors.Attr(err))
return nil, nil
@@ -55,7 +55,7 @@ func (migration *migrateRulesV4ToV5) getLogDuplicateKeys(ctx context.Context) ([
ORDER BY name
`
rows, err := migration.telemetryStore.DatastoreDB().Query(ctx, query)
rows, err := migration.telemetryStore.Datastore().Query(ctx, query)
if err != nil {
migration.logger.WarnContext(ctx, "failed to query log duplicate keys", errors.Attr(err))
return nil, nil
@@ -85,7 +85,7 @@ func (migration *migrateRulesV4ToV5) getTraceDuplicateKeys(ctx context.Context)
ORDER BY tagKey
`
rows, err := migration.telemetryStore.DatastoreDB().Query(ctx, query)
rows, err := migration.telemetryStore.Datastore().Query(ctx, query)
if err != nil {
migration.logger.WarnContext(ctx, "failed to query trace duplicate keys", errors.Attr(err))
return nil, nil
+5 -5
View File
@@ -161,7 +161,7 @@ func buildListLogsJSONIndexesQuery(cluster string, filters ...string) (string, [
func (t *telemetryMetaStore) ListLogsJSONIndexes(ctx context.Context, filters ...string) ([]telemetrytypes.TelemetryFieldKeySkipIndex, error) {
ctx = withTelemetryContext(ctx, "ListLogsJSONIndexes")
query, args := buildListLogsJSONIndexesQuery(t.telemetrystore.Cluster(), filters...)
rows, err := t.telemetrystore.DatastoreDB().Query(ctx, query, args...)
rows, err := t.telemetrystore.Datastore().Query(ctx, query, args...)
if err != nil {
return nil, errors.WrapInternalf(err, CodeFailLoadLogsJSONIndexes, "failed to load string indexed columns")
}
@@ -257,7 +257,7 @@ func (t *telemetryMetaStore) ListJSONValues(ctx context.Context, path string, li
contextWithTimeout, cancel := context.WithTimeout(ctx, 5*time.Second)
defer cancel()
query, args := sb.BuildWithFlavor(datastoresql.Flavor)
rows, err := t.telemetrystore.DatastoreDB().Query(contextWithTimeout, query, args...)
rows, err := t.telemetrystore.Datastore().Query(contextWithTimeout, query, args...)
if err != nil {
if errors.Is(err, context.DeadlineExceeded) {
return nil, false, errors.WrapTimeoutf(err, errors.CodeTimeout, "query timed out").WithAdditional("failed to list JSON values")
@@ -384,7 +384,7 @@ func (t *telemetryMetaStore) IsPathPromoted(ctx context.Context, path string) (b
split := strings.Split(path, telemetrytypes.ArraySep)
pathSegment := split[0]
query := fmt.Sprintf("SELECT 1 FROM %s.%s WHERE signal = ? AND column_name = ? AND field_context = ? AND field_name = ? LIMIT 1", DBName, PromotedPathsTableName)
rows, err := t.telemetrystore.DatastoreDB().Query(ctx, query, telemetrytypes.SignalLogs, telemetrylogs.LogsV2BodyPromotedColumn, telemetrytypes.FieldContextBody, pathSegment)
rows, err := t.telemetrystore.Datastore().Query(ctx, query, telemetrytypes.SignalLogs, telemetrylogs.LogsV2BodyPromotedColumn, telemetrytypes.FieldContextBody, pathSegment)
if err != nil {
return false, errors.WrapInternalf(err, CodeFailCheckPathPromoted, "failed to check if path %s is promoted", path)
}
@@ -414,7 +414,7 @@ func (t *telemetryMetaStore) GetPromotedPaths(ctx context.Context, paths ...stri
sb.Where(sb.And(conditions...))
query, args := sb.BuildWithFlavor(datastoresql.Flavor)
rows, err := t.telemetrystore.DatastoreDB().Query(ctx, query, args...)
rows, err := t.telemetrystore.Datastore().Query(ctx, query, args...)
if err != nil {
return nil, errors.WrapInternalf(err, CodeFailCheckPathPromoted, "failed to get promoted paths")
}
@@ -443,7 +443,7 @@ func CleanPathPrefixes(path string) string {
// PromotePaths inserts promoted paths into the Column Evolution table (same schema as otel-collector metadata_migrations).
func (t *telemetryMetaStore) PromotePaths(ctx context.Context, paths ...string) error {
ctx = withTelemetryContext(ctx, "PromotePaths")
batch, err := t.telemetrystore.DatastoreDB().PrepareBatch(ctx,
batch, err := t.telemetrystore.Datastore().PrepareBatch(ctx,
fmt.Sprintf("INSERT INTO %s.%s (signal, column_name, column_type, field_context, field_name, version, release_time) VALUES", DBName,
PromotedPathsTableName))
if err != nil {
+20 -20
View File
@@ -156,7 +156,7 @@ func (t *telemetryMetaStore) tracesTblStatementToFieldKeys(ctx context.Context)
})
query := fmt.Sprintf("SHOW CREATE TABLE %s.%s", t.tracesDBName, t.indexV3TblName)
statements := []telemetrytypes.ShowCreateTableStatement{}
err := t.telemetrystore.DatastoreDB().Select(ctx, &statements, query)
err := t.telemetrystore.Datastore().Select(ctx, &statements, query)
if err != nil {
return nil, errors.Wrap(err, errors.TypeInternal, errors.CodeInternal, ErrFailedToGetTblStatement.Error())
}
@@ -265,7 +265,7 @@ func (t *telemetryMetaStore) getTracesKeys(ctx context.Context, fieldKeySelector
query, args := mainSb.BuildWithFlavor(datastoresql.Flavor)
rows, err := t.telemetrystore.DatastoreDB().Query(ctx, query, args...)
rows, err := t.telemetrystore.Datastore().Query(ctx, query, args...)
if err != nil {
return nil, false, errors.Wrap(err, errors.TypeInternal, errors.CodeInternal, ErrFailedToGetTracesKeys.Error())
}
@@ -363,7 +363,7 @@ func (t *telemetryMetaStore) logsTblStatementToFieldKeys(ctx context.Context) ([
})
query := fmt.Sprintf("SHOW CREATE TABLE %s.%s", t.logsDBName, t.logsV2TblName)
statements := []telemetrytypes.ShowCreateTableStatement{}
err := t.telemetrystore.DatastoreDB().Select(ctx, &statements, query)
err := t.telemetrystore.Datastore().Select(ctx, &statements, query)
if err != nil {
return nil, errors.Wrap(err, errors.TypeInternal, errors.CodeInternal, ErrFailedToGetTblStatement.Error())
}
@@ -589,7 +589,7 @@ func (t *telemetryMetaStore) getLogsKeys(ctx context.Context, fieldKeySelectors
LIMIT %d
`, strings.Join(queries, " UNION ALL "), limit+1)
rows, err := t.telemetrystore.DatastoreDB().Query(ctx, mainQuery, allArgs...)
rows, err := t.telemetrystore.Datastore().Query(ctx, mainQuery, allArgs...)
if err != nil {
return nil, false, errors.Wrap(err, errors.TypeInternal, errors.CodeInternal, ErrFailedToGetLogsKeys.Error())
}
@@ -712,7 +712,7 @@ func (t *telemetryMetaStore) auditTblStatementToFieldKeys(ctx context.Context) (
query := fmt.Sprintf("SHOW CREATE TABLE %s.%s", t.auditDBName, t.auditLogsTblName)
statements := []telemetrytypes.ShowCreateTableStatement{}
err := t.telemetrystore.DatastoreDB().Select(ctx, &statements, query)
err := t.telemetrystore.Datastore().Select(ctx, &statements, query)
if err != nil {
return nil, errors.Wrap(err, errors.TypeInternal, errors.CodeInternal, ErrFailedToGetTblStatement.Error())
}
@@ -852,7 +852,7 @@ func (t *telemetryMetaStore) getAuditKeys(ctx context.Context, fieldKeySelectors
LIMIT %d
`, strings.Join(queries, " UNION ALL "), limit+1)
rows, err := t.telemetrystore.DatastoreDB().Query(ctx, mainQuery, allArgs...)
rows, err := t.telemetrystore.Datastore().Query(ctx, mainQuery, allArgs...)
if err != nil {
return nil, false, errors.Wrap(err, errors.TypeInternal, errors.CodeInternal, ErrFailedToGetAuditKeys.Error())
}
@@ -1010,7 +1010,7 @@ func (t *telemetryMetaStore) getMetricsKeys(ctx context.Context, fieldKeySelecto
query, args := mainSb.BuildWithFlavor(datastoresql.Flavor)
rows, err := t.telemetrystore.DatastoreDB().Query(ctx, query, args...)
rows, err := t.telemetrystore.Datastore().Query(ctx, query, args...)
if err != nil {
return nil, false, errors.Wrap(err, errors.TypeInternal, errors.CodeInternal, ErrFailedToGetMetricsKeys.Error())
}
@@ -1095,7 +1095,7 @@ func (t *telemetryMetaStore) getMeterSourceMetricKeys(ctx context.Context, field
sb.Limit(limit)
query, args := sb.BuildWithFlavor(datastoresql.Flavor)
rows, err := t.telemetrystore.DatastoreDB().Query(ctx, query, args...)
rows, err := t.telemetrystore.Datastore().Query(ctx, query, args...)
if err != nil {
return nil, false, errors.Wrap(err, errors.TypeInternal, errors.CodeInternal, ErrFailedToGetMeterKeys.Error())
}
@@ -1489,7 +1489,7 @@ func (t *telemetryMetaStore) getRelatedValues(ctx context.Context, fieldValueSel
t.logger.DebugContext(ctx, "query for related values", slog.String("query", query), slog.Any("args", args))
rows, err := t.telemetrystore.DatastoreDB().Query(ctx, query, args...)
rows, err := t.telemetrystore.Datastore().Query(ctx, query, args...)
if err != nil {
return nil, false, ErrFailedToGetRelatedValues
}
@@ -1572,7 +1572,7 @@ func (t *telemetryMetaStore) getSpanFieldValues(ctx context.Context, fieldValueS
query, args := sb.BuildWithFlavor(datastoresql.Flavor)
rows, err := t.telemetrystore.DatastoreDB().Query(ctx, query, args...)
rows, err := t.telemetrystore.Datastore().Query(ctx, query, args...)
if err != nil {
return nil, false, errors.Wrap(err, errors.TypeInternal, errors.CodeInternal, ErrFailedToGetLogsKeys.Error())
}
@@ -1660,7 +1660,7 @@ func (t *telemetryMetaStore) getLogFieldValues(ctx context.Context, fieldValueSe
query, args := sb.BuildWithFlavor(datastoresql.Flavor)
rows, err := t.telemetrystore.DatastoreDB().Query(ctx, query, args...)
rows, err := t.telemetrystore.Datastore().Query(ctx, query, args...)
if err != nil {
return nil, false, errors.Wrap(err, errors.TypeInternal, errors.CodeInternal, ErrFailedToGetLogsKeys.Error())
}
@@ -1747,7 +1747,7 @@ func (t *telemetryMetaStore) getAuditFieldValues(ctx context.Context, fieldValue
query, args := sb.BuildWithFlavor(datastoresql.Flavor)
rows, err := t.telemetrystore.DatastoreDB().Query(ctx, query, args...)
rows, err := t.telemetrystore.Datastore().Query(ctx, query, args...)
if err != nil {
return nil, false, errors.Wrap(err, errors.TypeInternal, errors.CodeInternal, ErrFailedToGetAuditKeys.Error())
}
@@ -1864,7 +1864,7 @@ func (t *telemetryMetaStore) getMetricFieldValues(ctx context.Context, orgID val
query, args := sb.BuildWithFlavor(datastoresql.Flavor)
rows, err := t.telemetrystore.DatastoreDB().Query(ctx, query, args...)
rows, err := t.telemetrystore.Datastore().Query(ctx, query, args...)
if err != nil {
return nil, false, errors.Wrap(err, errors.TypeInternal, errors.CodeInternal, ErrFailedToGetMetricsKeys.Error())
}
@@ -2002,7 +2002,7 @@ func (t *telemetryMetaStore) getIntrinsicMetricFieldValuesForTable(ctx context.C
sb.Limit(limit + 1)
query, args := sb.BuildWithFlavor(datastoresql.Flavor)
rows, err := t.telemetrystore.DatastoreDB().Query(ctx, query, args...)
rows, err := t.telemetrystore.Datastore().Query(ctx, query, args...)
if err != nil {
return nil, errors.Wrap(err, errors.TypeInternal, errors.CodeInternal, ErrFailedToGetMetricsKeys.Error())
}
@@ -2063,7 +2063,7 @@ func (t *telemetryMetaStore) getMeterSourceMetricFieldValues(ctx context.Context
sb.Limit(limit + 1)
query, args := sb.BuildWithFlavor(datastoresql.Flavor)
rows, err := t.telemetrystore.DatastoreDB().Query(ctx, query, args...)
rows, err := t.telemetrystore.Datastore().Query(ctx, query, args...)
if err != nil {
return nil, false, errors.Wrap(err, errors.TypeInternal, errors.CodeInternal, ErrFailedToGetMeterValues.Error())
}
@@ -2345,7 +2345,7 @@ func (t *telemetryMetaStore) fetchTemporalityTypeForTable(ctx context.Context, t
query, args := sb.BuildWithFlavor(datastoresql.Flavor)
t.logger.DebugContext(ctx, "fetching metric temporality", slog.String("query", query), slog.Any("args", args))
rows, err := t.telemetrystore.DatastoreDB().Query(ctx, query, args...)
rows, err := t.telemetrystore.Datastore().Query(ctx, query, args...)
if err != nil {
return nil, nil, errors.Wrapf(err, errors.TypeInternal, errors.CodeInternal, "failed to fetch metric temporality")
}
@@ -2400,7 +2400,7 @@ func (t *telemetryMetaStore) fetchMeterSourceMetricsTemporalityAndType(ctx conte
t.logger.DebugContext(ctx, "fetching meter metrics temporality", slog.String("query", query), slog.Any("args", args))
rows, err := t.telemetrystore.DatastoreDB().Query(ctx, query, args...)
rows, err := t.telemetrystore.Datastore().Query(ctx, query, args...)
if err != nil {
return nil, nil, errors.Wrapf(err, errors.TypeInternal, errors.CodeInternal, "failed to fetch meter metric temporality")
}
@@ -2450,7 +2450,7 @@ func (k *telemetryMetaStore) fetchEvolutionEntryFromDatastore(ctx context.Contex
query, args := sb.BuildWithFlavor(datastoresql.Flavor)
var entries []*telemetrytypes.EvolutionEntry
rows, err := k.telemetrystore.DatastoreDB().Query(ctx, query, args...)
rows, err := k.telemetrystore.Datastore().Query(ctx, query, args...)
if err != nil {
return nil, err
}
@@ -2589,7 +2589,7 @@ func (t *telemetryMetaStore) GetFirstSeenFromMetricMetadata(ctx context.Context,
query, args := sb.BuildWithFlavor(datastoresql.Flavor)
rows, err := t.telemetrystore.DatastoreDB().Query(ctx, query, args...)
rows, err := t.telemetrystore.Datastore().Query(ctx, query, args...)
if err != nil {
return nil, errors.Wrapf(err, errors.TypeInternal, errors.CodeInternal, "failed to query metadata for first_seen")
}
@@ -2652,7 +2652,7 @@ func (t *telemetryMetaStore) fetchLastSeenInfoForTable(ctx context.Context, tabl
t.logger.DebugContext(ctx, "fetching metric last seen timestamp", slog.String("query", query), slog.Any("args", args))
rows, err := t.telemetrystore.DatastoreDB().Query(ctx, query, args...)
rows, err := t.telemetrystore.Datastore().Query(ctx, query, args...)
if err != nil {
return nil, errors.Wrapf(err, errors.TypeInternal, errors.CodeInternal, "failed to fetch metric last seen info")
}
@@ -65,7 +65,7 @@ func (r *ResourceFingerprintResolver[T]) Resolve(
}
var count uint64
row := r.telemetryStore.DatastoreDB().QueryRow(ctx, countStmt.Query, countStmt.Args...)
row := r.telemetryStore.Datastore().QueryRow(ctx, countStmt.Query, countStmt.Args...)
if err := row.Scan(&count); err != nil {
return qbtypes.ResourceFilterResolveKindNoOp, err
}
@@ -159,7 +159,7 @@ func New(ctx context.Context, providerSettings factory.ProviderSettings, config
return p, nil
}
func (p *provider) DatastoreDB() datastore.Conn {
func (p *provider) Datastore() datastore.Conn {
return p
}
+2 -2
View File
@@ -8,8 +8,8 @@ import (
)
type TelemetryStore interface {
// DatastoreDB returns the datastore connection, which can also EXPLAIN.
DatastoreDB() datastore.Conn
// Datastore returns the datastore connection, which can also EXPLAIN.
Datastore() datastore.Conn
// Cluster returns the cluster name.
Cluster() string
@@ -30,8 +30,8 @@ func New(_ telemetrystore.Config, matcher sqlmock.QueryMatcher) *Provider {
}
}
// DatastoreDB returns the mock Datastore connection.
func (p *Provider) DatastoreDB() datastore.Conn {
// Datastore returns the mock Datastore connection.
func (p *Provider) Datastore() datastore.Conn {
return p.datastoreDB.(datastore.Conn)
}
@@ -12,5 +12,5 @@ func TestNew(t *testing.T) {
provider := New(telemetrystore.Config{Provider: "datastore"}, sqlmock.QueryMatcherRegexp)
assert.NotNil(t, provider)
assert.NotNil(t, provider.Mock())
assert.NotNil(t, provider.DatastoreDB())
assert.NotNil(t, provider.Datastore())
}
+1 -1
View File
@@ -57,7 +57,7 @@ func (f *TraceTimeRangeFinder) GetTraceTimeRangeMulti(ctx context.Context, trace
WHERE trace_id IN (%s)
`, DBName, TraceSummaryTableName, strings.Join(placeholders, ", "))
row := f.telemetryStore.DatastoreDB().QueryRow(ctx, query, args...)
row := f.telemetryStore.Datastore().QueryRow(ctx, query, args...)
var rowCount uint64
err := row.Scan(&rowCount, &startNano, &endNano)