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