Files
zeekay 54ffd7aa85 debrand: purge ClickHouse -> datastore + hanzo-ds; datastore:// DSN; no replace
- imports: ClickHouse/ch-go, clickhouse-go/v2, srikanthccv/ClickHouse-go-mock
  -> github.com/hanzo-ds/{native,go,mock} (require, clean semver, NO replace)
- identifiers/aliases/type-names/config-keys/type-IDs: clickhouse -> datastore
  (receiver dir clickhousesystemtablesreceiver -> datastoresystemtablesreceiver)
- DSN scheme clickhouse:// -> datastore:// (driver treats non-http/https as Native)
- removed the go.opencensus.io version-pin replace (require-pinned instead)
- kept: real external refs (github.com/ClickHouse, clickhouse.com docs) and the
  hanzo-ds/mock test API (NewClickHouseNative) pending the mock's own rename
Full ./... build passes. 0 replace directives, 0 signoz.
2026-07-12 19:08:48 -07:00

68 lines
1.6 KiB
Go

package datastoresystemtablesreceiver
import (
"context"
"fmt"
"go.opentelemetry.io/collector/component"
"go.opentelemetry.io/collector/consumer"
"go.opentelemetry.io/collector/receiver"
"go.opentelemetry.io/collector/receiver/receiverhelper"
"github.com/hanzoai/otel-collector/receiver/datastoresystemtablesreceiver/internal/metadata"
)
const (
defaultScrapeIntervalSeconds = 10
)
func NewFactory() receiver.Factory {
return receiver.NewFactory(
metadata.Type,
createDefaultConfig,
receiver.WithLogs(createLogsReceiver, metadata.LogsStability),
)
}
func createDefaultConfig() component.Config {
return &Config{}
}
func createLogsReceiver(
ctx context.Context,
params receiver.Settings,
cfg component.Config,
consumer consumer.Logs,
) (receiver.Logs, error) {
rCfg := cfg.(*Config)
scrapeIntervalSeconds := rCfg.QueryLogScrapeConfig.ScrapeIntervalSeconds
if scrapeIntervalSeconds == 0 {
scrapeIntervalSeconds = defaultScrapeIntervalSeconds
}
logger := params.Logger
if logger == nil {
return nil, fmt.Errorf("logger must be provided")
}
obsrecv, err := receiverhelper.NewObsReport(receiverhelper.ObsReportSettings{
ReceiverID: params.ID,
Transport: "datastore",
ReceiverCreateSettings: params,
})
if err != nil {
return nil, err
}
return &systemTablesReceiver{
nextConsumer: consumer,
config: rCfg,
scrapeIntervalSeconds: scrapeIntervalSeconds,
scrapeDelaySeconds: rCfg.QueryLogScrapeConfig.MinScrapeDelaySeconds,
logger: params.Logger,
obsrecv: obsrecv,
}, nil
}