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
UsageEventSinkUsageAnalyticsStoreUsageChargeStore
Constructors
Constructor
new ClickHouseUsageStore(
options):ClickHouseUsageStore
Defined in: javascript/src/storage/adapters/clickhouse.ts:175
Parameters
options
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
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?
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
writeUsage()
writeUsage(
event,outboxEventId):Promise<void>
Defined in: javascript/src/storage/adapters/clickhouse.ts:208
Parameters
event
outboxEventId
string
Returns
Promise<void>
Implementation of
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>