Skip to main content
Version: 2.x

Class: ClickHouseUsageStore

Defined in: javascript/src/storage/adapters/clickhouse.ts:166

Idempotent ClickHouse usage projection plus the analytics read port.

ReplacingMergeTree and FINAL make replay after a worker crash safe.

Implements

Constructors

Constructor

new ClickHouseUsageStore(options): ClickHouseUsageStore

Defined in: javascript/src/storage/adapters/clickhouse.ts:175

Parameters

options

ClickHouseUsageStoreOptions

Returns

ClickHouseUsageStore

Methods

aggregateStats()

aggregateStats(start, end): Promise<AggregateStats>

Defined in: javascript/src/storage/adapters/clickhouse.ts:329

Parameters

start

Date

end

Date

Returns

Promise<AggregateStats>

Implementation of

UsageAnalyticsStore.aggregateStats


checkSchemaCompatibility()

checkSchemaCompatibility(): Promise<void>

Defined in: javascript/src/storage/adapters/clickhouse.ts:225

Validate the existing schema without creating or modifying it.

Returns

Promise<void>

Implementation of

UsageEventSink.checkSchemaCompatibility


dailySpend()

dailySpend(start, end): Promise<DailySpendRow[]>

Defined in: javascript/src/storage/adapters/clickhouse.ts:306

Parameters

start

Date

end

Date

Returns

Promise<DailySpendRow[]>

Implementation of

UsageAnalyticsStore.dailySpend


initialize()

initialize(): Promise<void>

Defined in: javascript/src/storage/adapters/clickhouse.ts:192

Returns

Promise<void>

Implementation of

UsageEventSink.initialize


initializeSchema()

initializeSchema(): Promise<void>

Defined in: javascript/src/storage/adapters/clickhouse.ts:198

Explicitly create Bursar's standalone projection schema.

Returns

Promise<void>


listUsageCharges()

listUsageCharges(userId, options?): Promise<UsageChargePage>

Defined in: javascript/src/storage/adapters/clickhouse.ts:357

Parameters

userId

string

options?

ListUsageChargesOptions = {}

Returns

Promise<UsageChargePage>

Implementation of

UsageChargeStore.listUsageCharges


spendByModel()

spendByModel(start, end): Promise<SpendByModelRow[]>

Defined in: javascript/src/storage/adapters/clickhouse.ts:286

Parameters

start

Date

end

Date

Returns

Promise<SpendByModelRow[]>

Implementation of

UsageAnalyticsStore.spendByModel


spendByUser()

spendByUser(start, end): Promise<SpendByUserRow[]>

Defined in: javascript/src/storage/adapters/clickhouse.ts:277

Parameters

start

Date

end

Date

Returns

Promise<SpendByUserRow[]>

Implementation of

UsageAnalyticsStore.spendByUser


topUsers()

topUsers(limit, start, end): Promise<TopUserRow[]>

Defined in: javascript/src/storage/adapters/clickhouse.ts:295

Parameters

limit

number

start

Date

end

Date

Returns

Promise<TopUserRow[]>

Implementation of

UsageAnalyticsStore.topUsers


writeUsage()

writeUsage(event, outboxEventId): Promise<void>

Defined in: javascript/src/storage/adapters/clickhouse.ts:208

Parameters

event

UsageChargeExport

outboxEventId

string

Returns

Promise<void>

Implementation of

UsageEventSink.writeUsage


writeUsageBatch()

writeUsageBatch(entries): Promise<void>

Defined in: javascript/src/storage/adapters/clickhouse.ts:213

Insert a batch in one ClickHouse request while retaining each outbox identity.

Parameters

entries

readonly readonly [UsageChargeExport, string][]

Returns

Promise<void>

Implementation of

UsageEventSink.writeUsageBatch