Keryhe.Telemetry.ClickHouse
1.3.0
dotnet add package Keryhe.Telemetry.ClickHouse --version 1.3.0
NuGet\Install-Package Keryhe.Telemetry.ClickHouse -Version 1.3.0
<PackageReference Include="Keryhe.Telemetry.ClickHouse" Version="1.3.0" />
<PackageVersion Include="Keryhe.Telemetry.ClickHouse" Version="1.3.0" />
<PackageReference Include="Keryhe.Telemetry.ClickHouse" />
paket add Keryhe.Telemetry.ClickHouse --version 1.3.0
#r "nuget: Keryhe.Telemetry.ClickHouse, 1.3.0"
#:package Keryhe.Telemetry.ClickHouse@1.3.0
#addin nuget:?package=Keryhe.Telemetry.ClickHouse&version=1.3.0
#tool nuget:?package=Keryhe.Telemetry.ClickHouse&version=1.3.0
Keryhe.Telemetry.ClickHouse
ClickHouse provider for Keryhe Telemetry — a
ClickHouse.Client/Dapper implementation for columnar/OLAP storage. Requires ClickHouse 23.3+
(lightweight DELETE).
What it provides
AddClickHouseCollectorServices(configuration)— registersITelemetryBulkWriter(batchedClickHouseBulkCopyinserts) andITenantResolver, connecting viaConnectionStrings:Collector.AddClickHouseApiServices(configuration)— registersITraceReadRepository,IMetricReadRepository,ILogReadRepository,IAlertRuleRepository,ITenantCatalogRepository, andIRetentionSettingsRepository, connecting viaConnectionStrings:Api.
Install this package alongside Keryhe.Telemetry.Collector (write side) and/or
Keryhe.Telemetry.Api (read side), and set Database:Provider to ClickHouse.
Usage
builder.Services.AddClickHouseCollectorServices(builder.Configuration);
builder.Services.AddClickHouseApiServices(builder.Configuration);
Configuration:
Database:Provider— must beClickHouse.ConnectionStrings:Collector/ConnectionStrings:Api— HTTP-interface connection strings, e.g.Host=localhost;Port=8123;Username=default;Password=<password>;Database=telemetry.
Apply schema/ClickHouse-Schema.sql (or schema/apply-schema.sh clickhouse) before first use,
and seed at least one tenant with an explicit id, e.g.
INSERT INTO tenants (id, name) VALUES (1, 'default').
Because resources/scopes/spans/metrics dedup via ReplacingMergeTree rather than
ON CONFLICT/MERGE, this provider computes surrogate ids app-side and dedup is eventual —
a duplicate row may briefly be visible to reads until the next background merge (or an explicit
OPTIMIZE ... FINAL). Alert-rule CRUD and cooldown fire-claims use ALTER TABLE ... UPDATE
mutations and are best-effort (non-atomic under concurrent evaluators).
Documentation
See the project README and CLAUDE.md for the full architecture and setup guide.
License
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- ClickHouse.Client (>= 7.14.0)
- Dapper (>= 2.1.79)
- Keryhe.Telemetry.Core (>= 1.3.0)
- Microsoft.Extensions.Configuration.Abstractions (>= 10.0.10)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.10)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.