Skip to main content
Version: 2.x

Class: ClickHouseUsageStore

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

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:183

Parameters​

options​

ClickHouseUsageStoreOptions

Returns​

ClickHouseUsageStore

Methods​

aggregateStats()​

aggregateStats(start, end): Promise<AggregateStats>

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

Parameters​

start​

Date

end​

Date

Returns​

Promise<AggregateStats>

Implementation of​

UsageAnalyticsStore.aggregateStats


checkSchemaCompatibility()​

checkSchemaCompatibility(): Promise<void>

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

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:314

Parameters​

start​

Date

end​

Date

Returns​

Promise<DailySpendRow[]>

Implementation of​

UsageAnalyticsStore.dailySpend


initialize()​

initialize(): Promise<void>

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

Returns​

Promise<void>

Implementation of​

UsageEventSink.initialize


initializeSchema()​

initializeSchema(): Promise<void>

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

Explicitly create Bursar's standalone projection schema.

Returns​

Promise<void>


listUsageCharges()​

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

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

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:294

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:285

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:303

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:216

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:221

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