mirror of
https://github.com/hanzoai/o11y.git
synced 2026-10-15 12:58:33 +00:00
* debrand: signoz/SigNoz/SIGNOZ -> o11y/O11y/O11Y across the tree Rename all SigNoz *branding* to O11y in file contents, file/dir names, package names, env vars, config keys, comments, docs, SDK code, and the ClickHouse schema identifiers the querier reads. Collector dependency: - Repoint github.com/hanzoai/signoz-otel-collector -> github.com/hanzoai/otel-collector and bump v0.144.6 -> v0.144.7 (go.mod + go.sum reconciled via go mod tidy). Internal package paths also debranded upstream: signozschemamigrator -> o11yschemamigrator, signozlogspipelineprocessor -> o11ylogspipelineprocessor. - Fix: v0.144.7 dropped otelconst.DistributedFieldKeysTable from the collector's public constants; pin FieldKeysTable = "distributed_field_keys" locally in pkg/telemetrymetadata/tables.go. Package/dir renames (package decl + all importers): pkg/apiserver/signozapiserver -> o11yapiserver, plus signozalertmanager, signozauthzapi, signozglobal, signozquerier, signozruler, and pkg/signoz -> pkg/o11y. Schema (read plane): signoz_traces/metrics/logs/metadata/analytics/meter and signoz_index_v3/index_v2/error_index_v2/spans (+ distributed_*) -> o11y_*. Data-preserving cutover migration added: deploy/clickhouse/migrations/0001_rename_signoz_to_o11y.sql (metadata-only RENAME DATABASE/TABLE, no drop/recreate). Preserved (attribution / external / wire contracts): - LICENSE + NOTICE verbatim (incl. "software from SigNoz", "Copyright ... SigNoz Inc."). - Upstream github.com/SigNoz/* repo URLs + @SigNoz/* CODEOWNERS teams. - Billing resource-attribute regex "signoz.workspace.*" (external wire contract). go build ./pkg/... ./cmd/... = 0; gofmt clean; renamed+schema pkg tests pass. * o11y: bump collector to v0.144.8 (o11y_* physical schema writer) + lockstep deploy plan Collector v0.144.8's schema-migrator + exporters now CREATE/WRITE the same o11y_* physical databases/tables the querier reads and the RENAME migration (0001_rename_signoz_to_o11y.sql) targets. Cross-checked byte-identical: writer DB set == migration target DB set (6); writer prefixed-table set == migration target table set (8); o11y querier reads and cloud reads are subsets of that set. Zero table-name mismatches between writer, readers, and migration. Collector go.mod unchanged between v0.144.7 and v0.144.8 (identical go.mod hash) — pure source rename, no module-graph change. Adds deploy/clickhouse/DEPLOY_signoz_to_o11y_cutover.md: the lockstep order (collector v0.144.8 -> RENAME migration -> o11y+cloud readers) with a fresh/scratch-ClickHouse pre-flight (create via migrator, emit trace+metric, query back) and rollback. Ships together or telemetry blackholes. go build ./pkg/... ./cmd/community = 0.
130 lines
5.2 KiB
Go
130 lines
5.2 KiB
Go
package telemetryaudit
|
|
|
|
import (
|
|
qbtypes "github.com/hanzoai/o11y/pkg/types/querybuildertypes/querybuildertypesv5"
|
|
"github.com/hanzoai/o11y/pkg/types/telemetrytypes"
|
|
schema "github.com/hanzoai/otel-collector/cmd/o11yschemamigrator/schema_migrator"
|
|
)
|
|
|
|
const (
|
|
// Internal Columns.
|
|
IDColumn = "id"
|
|
TimestampBucketStartColumn = "ts_bucket_start"
|
|
ResourceFingerPrintColumn = "resource_fingerprint"
|
|
|
|
// Intrinsic Columns.
|
|
TimestampColumn = "timestamp"
|
|
ObservedTimestampColumn = "observed_timestamp"
|
|
BodyColumn = "body"
|
|
EventNameColumn = "event_name"
|
|
TraceIDColumn = "trace_id"
|
|
SpanIDColumn = "span_id"
|
|
TraceFlagsColumn = "trace_flags"
|
|
SeverityTextColumn = "severity_text"
|
|
SeverityNumberColumn = "severity_number"
|
|
ScopeNameColumn = "scope_name"
|
|
ScopeVersionColumn = "scope_version"
|
|
|
|
// Contextual Columns.
|
|
AttributesStringColumn = "attributes_string"
|
|
AttributesNumberColumn = "attributes_number"
|
|
AttributesBoolColumn = "attributes_bool"
|
|
ResourceColumn = "resource"
|
|
ScopeStringColumn = "scope_string"
|
|
)
|
|
|
|
var (
|
|
DefaultFullTextColumn = &telemetrytypes.TelemetryFieldKey{
|
|
Name: "body",
|
|
Signal: telemetrytypes.SignalLogs,
|
|
FieldContext: telemetrytypes.FieldContextLog,
|
|
FieldDataType: telemetrytypes.FieldDataTypeString,
|
|
}
|
|
|
|
IntrinsicFields = map[string]telemetrytypes.TelemetryFieldKey{
|
|
"body": {
|
|
Name: "body",
|
|
Signal: telemetrytypes.SignalLogs,
|
|
FieldContext: telemetrytypes.FieldContextLog,
|
|
FieldDataType: telemetrytypes.FieldDataTypeString,
|
|
},
|
|
"trace_id": {
|
|
Name: "trace_id",
|
|
Signal: telemetrytypes.SignalLogs,
|
|
FieldContext: telemetrytypes.FieldContextLog,
|
|
FieldDataType: telemetrytypes.FieldDataTypeString,
|
|
},
|
|
"span_id": {
|
|
Name: "span_id",
|
|
Signal: telemetrytypes.SignalLogs,
|
|
FieldContext: telemetrytypes.FieldContextLog,
|
|
FieldDataType: telemetrytypes.FieldDataTypeString,
|
|
},
|
|
"trace_flags": {
|
|
Name: "trace_flags",
|
|
Signal: telemetrytypes.SignalLogs,
|
|
FieldContext: telemetrytypes.FieldContextLog,
|
|
FieldDataType: telemetrytypes.FieldDataTypeNumber,
|
|
},
|
|
"severity_text": {
|
|
Name: "severity_text",
|
|
Signal: telemetrytypes.SignalLogs,
|
|
FieldContext: telemetrytypes.FieldContextLog,
|
|
FieldDataType: telemetrytypes.FieldDataTypeString,
|
|
},
|
|
"severity_number": {
|
|
Name: "severity_number",
|
|
Signal: telemetrytypes.SignalLogs,
|
|
FieldContext: telemetrytypes.FieldContextLog,
|
|
FieldDataType: telemetrytypes.FieldDataTypeNumber,
|
|
},
|
|
"event_name": {
|
|
Name: "event_name",
|
|
Signal: telemetrytypes.SignalLogs,
|
|
FieldContext: telemetrytypes.FieldContextLog,
|
|
FieldDataType: telemetrytypes.FieldDataTypeString,
|
|
},
|
|
}
|
|
|
|
DefaultSortingOrder = []qbtypes.OrderBy{
|
|
{
|
|
Key: qbtypes.OrderByKey{
|
|
TelemetryFieldKey: telemetrytypes.TelemetryFieldKey{
|
|
Name: TimestampColumn,
|
|
},
|
|
},
|
|
Direction: qbtypes.OrderDirectionDesc,
|
|
},
|
|
{
|
|
Key: qbtypes.OrderByKey{
|
|
TelemetryFieldKey: telemetrytypes.TelemetryFieldKey{
|
|
Name: IDColumn,
|
|
},
|
|
},
|
|
Direction: qbtypes.OrderDirectionDesc,
|
|
},
|
|
}
|
|
)
|
|
|
|
var auditLogColumns = map[string]*schema.Column{
|
|
"ts_bucket_start": {Name: "ts_bucket_start", Type: schema.ColumnTypeUInt64},
|
|
"resource_fingerprint": {Name: "resource_fingerprint", Type: schema.ColumnTypeString},
|
|
"timestamp": {Name: "timestamp", Type: schema.ColumnTypeUInt64},
|
|
"observed_timestamp": {Name: "observed_timestamp", Type: schema.ColumnTypeUInt64},
|
|
"id": {Name: "id", Type: schema.ColumnTypeString},
|
|
"trace_id": {Name: "trace_id", Type: schema.ColumnTypeString},
|
|
"span_id": {Name: "span_id", Type: schema.ColumnTypeString},
|
|
"trace_flags": {Name: "trace_flags", Type: schema.ColumnTypeUInt32},
|
|
"severity_text": {Name: "severity_text", Type: schema.LowCardinalityColumnType{ElementType: schema.ColumnTypeString}},
|
|
"severity_number": {Name: "severity_number", Type: schema.ColumnTypeUInt8},
|
|
"body": {Name: "body", Type: schema.ColumnTypeString},
|
|
"attributes_string": {Name: "attributes_string", Type: schema.MapColumnType{KeyType: schema.LowCardinalityColumnType{ElementType: schema.ColumnTypeString}, ValueType: schema.ColumnTypeString}},
|
|
"attributes_number": {Name: "attributes_number", Type: schema.MapColumnType{KeyType: schema.LowCardinalityColumnType{ElementType: schema.ColumnTypeString}, ValueType: schema.ColumnTypeFloat64}},
|
|
"attributes_bool": {Name: "attributes_bool", Type: schema.MapColumnType{KeyType: schema.LowCardinalityColumnType{ElementType: schema.ColumnTypeString}, ValueType: schema.ColumnTypeBool}},
|
|
"resource": {Name: "resource", Type: schema.JSONColumnType{}},
|
|
"event_name": {Name: "event_name", Type: schema.ColumnTypeString},
|
|
"scope_name": {Name: "scope_name", Type: schema.ColumnTypeString},
|
|
"scope_version": {Name: "scope_version", Type: schema.ColumnTypeString},
|
|
"scope_string": {Name: "scope_string", Type: schema.MapColumnType{KeyType: schema.LowCardinalityColumnType{ElementType: schema.ColumnTypeString}, ValueType: schema.ColumnTypeString}},
|
|
}
|