Coverage for /builds/BuildGrid/buildgrid/buildgrid/server/metrics_names.py: 100.00%

122 statements  

« prev     ^ index     » next       coverage.py v7.4.1, created at 2024-06-11 15:37 +0000

1# Copyright (C) 2020 Bloomberg LP 

2# 

3# Licensed under the Apache License, Version 2.0 (the "License"); 

4# you may not use this file except in compliance with the License. 

5# You may obtain a copy of the License at 

6# 

7# <http://www.apache.org/licenses/LICENSE-2.0> 

8# 

9# Unless required by applicable law or agreed to in writing, software 

10# distributed under the License is distributed on an "AS IS" BASIS, 

11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 

12# See the License for the specific language governing permissions and 

13# limitations under the License. 

14 

15# 

16# CAS metrics 

17# 

18 

19#: Number of exceptions thrown from CAS servicer functions 

20CAS_EXCEPTION_COUNT_METRIC_NAME = "cas-exception" 

21 

22#: Number of exceptions thrown from ``FindMissingBlobs()`` calls 

23CAS_FIND_MISSING_BLOBS_EXCEPTION_COUNT_METRIC_NAME = "find-missing-blobs-exception" 

24 

25#: Number of exceptions thrown from ``BatchUpdateBlobs()`` calls 

26CAS_BATCH_UPDATE_BLOBS_EXCEPTION_COUNT_METRIC_NAME = "batch-update-blobs-exception" 

27 

28#: Number of exceptions thrown from ``BatchReadBlobs()`` calls 

29CAS_BATCH_READ_BLOBS_EXCEPTION_COUNT_METRIC_NAME = "batch-read-blobs-exception" 

30 

31#: Number of exceptions thrown from ``GetTree()`` calls 

32CAS_GET_TREE_EXCEPTION_COUNT_METRIC_NAME = "get-tree-exception" 

33 

34#: Number of bytes uploaded to a CAS instance 

35CAS_UPLOADED_BYTES_METRIC_NAME = "cas-uploaded-bytes" 

36 

37#: Number of bytes downloaded from a CAS instance 

38CAS_DOWNLOADED_BYTES_METRIC_NAME = "cas-downloaded-bytes" 

39 

40#: Number of blobs requested in ``FindMissingBlobs()`` calls 

41CAS_FIND_MISSING_BLOBS_NUM_REQUESTED_METRIC_NAME = "find-missing-blobs-num-requested" 

42 

43#: Size of blobs requested in ``FindMissingBlobs()`` calls 

44CAS_FIND_MISSING_BLOBS_SIZE_BYTES_REQUESTED_METRIC_NAME = "find-missing-blobs-size-bytes-requested" 

45 

46#: Number of blobs reported to be missing in ``FindMissingBlobs()`` calls 

47CAS_FIND_MISSING_BLOBS_NUM_MISSING_METRIC_NAME = "find-missing-blobs-num-missing" 

48 

49#: Percentage of blobs reported to be missing in ``FindMissingBlobs()`` calls 

50CAS_FIND_MISSING_BLOBS_PERCENT_MISSING_METRIC_NAME = "find-missing-blobs-percent-missing" 

51 

52#: Size of blobs reported to be missing in ``FindMissingBlobs()`` calls 

53CAS_FIND_MISSING_BLOBS_SIZE_BYTES_MISSING_METRIC_NAME = "find-missing-blobs-size-bytes-missing" 

54 

55#: Time that ``FindMissingBlobs()`` operations took to complete 

56CAS_FIND_MISSING_BLOBS_TIME_METRIC_NAME = "find-missing-blobs" 

57 

58#: Time that ``BatchUpdateBlobs()`` operations took to complete 

59CAS_BATCH_UPDATE_BLOBS_TIME_METRIC_NAME = "batch-update-blobs" 

60 

61#: Size of blobs written with ``BatchUpdateBlobs()`` calls 

62CAS_BATCH_UPDATE_BLOBS_SIZE_BYTES = "batch-update-blobs-size-bytes" 

63 

64#: Time that ``BatchReadBlobs()`` operations took to complete 

65CAS_BATCH_READ_BLOBS_TIME_METRIC_NAME = "batch-read-blobs" 

66 

67#: Size of blobs read with ``BatchReadBlobs()`` calls 

68CAS_BATCH_READ_BLOBS_SIZE_BYTES = "batch-read-blobs-size-bytes" 

69 

70#: Time that ``GetTree()`` operations took to complete 

71CAS_GET_TREE_TIME_METRIC_NAME = "get-tree" 

72 

73#: Count of cache-hit when calling `GetTree` 

74CAS_GET_TREE_CACHE_HIT = "get-tree-cache-hit" 

75 

76#: Count of cache-miss when calling `GetTree` 

77CAS_GET_TREE_CACHE_MISS = "get-tree-cache-miss" 

78 

79#: Time that ``ByteStream.Read()`` operations took to complete 

80CAS_BYTESTREAM_READ_TIME_METRIC_NAME = "bytestream-read" 

81 

82#: Size of blobs read with ``ByteStream.Read()`` 

83CAS_BYTESTREAM_READ_SIZE_BYTES = "bytestream-read-size-bytes" 

84 

85#: Time that ``ByteStream.Write()`` operations took to complete 

86CAS_BYTESTREAM_WRITE_TIME_METRIC_NAME = "bytestream-write" 

87 

88#: Size of blobs written with ``ByteStream.Write()`` 

89CAS_BYTESTREAM_WRITE_SIZE_BYTES = "bytestream-write-size-bytes" 

90 

91#: Number of exceptions thrown from ``ByteStream.Read()`` 

92CAS_BYTESTREAM_READ_EXCEPTION_COUNT_METRIC_NAME = "bytestream-read-exception" 

93 

94#: Number of exceptions thrown from ``ByteStream.Write()`` 

95CAS_BYTESTREAM_WRITE_EXCEPTION_COUNT_METRIC_NAME = "bytestream-write-exception" 

96 

97# CAS cache wrapper metrics 

98 

99#: Count of cache misses in BatchReadBlobs requests to the 

100# !with-cache-storage. This only counts the blobs which were 

101# in the fallback storage; blobs that were entirely missing 

102# don't count as cache misses, since this metric is intended 

103# to measure how many things that *could* have been cached 

104# were actually not. 

105CAS_CACHE_BULK_READ_MISS_COUNT_NAME = "cas-withcache-bulk-read-misses" 

106 

107#: Count of cache hits in BatchReadBlobs requests to the !with-cache-storage 

108CAS_CACHE_BULK_READ_HIT_COUNT_NAME = "cas-withcache-bulk-read-hits" 

109 

110#: Percentage of cache hits in a given BatchReadBlobs request in the 

111# !with-cache-storage. This is as a percentage of total blobs requested, 

112# including blobs which were missing entirely. 

113CAS_CACHE_BULK_READ_HIT_PERCENTAGE_NAME = "cas-withcache-bulk-read-hit-percent" 

114 

115#: Count of cache misses in ByteStream Read requests to the 

116# !with-cache-storage. This only counts the blobs which were 

117# in the fallback storage; blobs that were entirely missing 

118# don't count as cache misses, since this metric is intended 

119# to measure how many things that *could* have been cached 

120# were actually not. 

121CAS_CACHE_GET_BLOB_MISS_COUNT_NAME = "cas-withcache-get-blob-misses" 

122 

123#: Count of cache hits in ByteStream Read requests to the !with-cache-storage 

124CAS_CACHE_GET_BLOB_HIT_COUNT_NAME = "cas-withcache-get-blob-hits" 

125 

126# Indexed CAS metrics 

127 

128#: Time taken to bulk select a number of digests from the index 

129CAS_INDEX_BULK_SELECT_DIGEST_TIME_METRIC_NAME = "cas.index.bulk-select-digest-time" 

130 

131#: Time taken to update a blob timestamp in the index 

132CAS_INDEX_BLOB_TIMESTAMP_UPDATE_TIME_METRIC_NAME = "cas.index.blob-timestamp-update-time" 

133 

134#: Time taken to run a bulk timestamp update in the index 

135CAS_INDEX_BULK_TIMESTAMP_UPDATE_TIME_METRIC_NAME = "cas.index.bulk-timestamp-update-time" 

136 

137#: Time taken to return from `get_blob()`. This includes the time taken to 

138# check and update the index, along with to time to fetch the blob from the 

139# underlying storage, and update the index if `fallback_on_get` is enabled. 

140CAS_INDEX_GET_BLOB_TIME_METRIC_NAME = "cas.index.get-blob-time" 

141 

142#: Time taken to store a list of digests in the index 

143CAS_INDEX_SAVE_DIGESTS_TIME_METRIC_NAME = "cas.index.save-digests-time" 

144 

145#: Time taken to get the total size of the CAS the index is for 

146CAS_INDEX_SIZE_CALCULATION_TIME_METRIC_NAME = "cas.index.total-size-calculation-time" 

147 

148# ReplicatedStorage CAS metrics 

149 

150#: Number of blobs reported by FindMissingBlobs as needing to be replicated 

151CAS_REPLICATED_STORAGE_BLOBS_NEED_REPLICATING_COUNT_METRIC_NAME = "cas.replicated-storage.blobs-need-replicating" 

152 

153#: Number of blobs replicated from one storage to another 

154CAS_REPLICATED_STORAGE_REPLICATED_BLOBS_COUNT_METRIC_NAME = "cas.replicated-storage.replicated-blobs" 

155 

156#: Number of blobs which encountered errors when replicating 

157CAS_REPLICATED_STORAGE_ERRORED_BLOBS_COUNT_METRIC_NAME = "cas.replicated-storage.errored-blobs" 

158 

159# 

160# ActionCache metrics 

161# 

162 

163#: Time that ``GetActionResult()`` operations took to complete 

164AC_GET_ACTION_RESULT_TIME_METRIC_NAME = "get-action-result" 

165 

166#: Time that ``UpdateActionResult()`` operations took to complete 

167AC_UPDATE_ACTION_RESULT_TIME_METRIC_NAME = "update-action-result" 

168 

169#: Number of cache hits from the ActionCache 

170AC_CACHE_HITS_METRIC_NAME = "action-cache-hits" 

171 

172#: Number of cache misses from the ActionCache 

173AC_CACHE_MISSES_METRIC_NAME = "action-cache-misses" 

174 

175#: Number of cache hits which became misses due to missing blobs in CAS 

176AC_UNUSABLE_CACHE_HITS_METRIC_NAME = "action-cache-hits-with-missing-blobs" 

177 

178#: Number of exceptions thrown from ``GetActionResult()`` calls 

179AC_GET_ACTION_RESULT_EXCEPTION_COUNT_METRIC_NAME = "get-action-result-exception" 

180 

181#: Number of exceptions thrown from ``UpdateActionResult()`` calls 

182AC_UPDATE_ACTION_RESULT_EXCEPTION_COUNT_METRIC_NAME = "update-action-result-exception" 

183 

184#: Number of requested action results matched with the counterpart in the mirrored cache 

185AC_MIRRORED_MATCH_COUNT_METRIC_NAME = "mirrored-action-cache-match" 

186 

187#: Number of requested action results not matched with the counterpart in the mirrored cache 

188AC_MIRRORED_MISMATCH_COUNT_METRIC_NAME = "mirrored-action-cache-mismatch" 

189 

190# 

191# S3 metrics 

192# 

193 

194#: Time taken to check errors from a bulk_delete 

195S3_DELETE_ERROR_CHECK_METRIC_NAME = "s3-deletion-error-check-timer" 

196 

197 

198# 

199# Cleanup metrics 

200# 

201 

202#: Number of blobs deleted per second in a cleanup batch 

203CLEANUP_BLOBS_DELETION_RATE_METRIC_NAME = "cleanup.blobs-deleted-per-second" 

204 

205#: Number of bytes deleted per second in a cleanup batch 

206CLEANUP_BYTES_DELETION_RATE_METRIC_NAME = "cleanup.bytes-deleted-per-second" 

207 

208#: Number of bytes deleted in a cleanup batch 

209CLEANUP_BYTES_DELETED_METRIC_NAME = "cleanup.bytes-deleted" 

210 

211#: Number of bytes reported by index not including blobs that are marked as deleted 

212CLEANUP_INDEX_TOTAL_SIZE_BYTES_EXCLUDE_MARKED_METRIC_NAME = "cleanup.index.total-size-bytes-exclude-stale" 

213 

214#: Number of bytes reported by index including blobs that are marked as deleted 

215CLEANUP_INDEX_TOTAL_SIZE_BYTES_INCLUDE_MARKED_METRIC_NAME = "cleanup.index.total-size-bytes-include-stale" 

216 

217#: Total time taken to clean enough blobs to get the CAS size down to the low watermark 

218CLEANUP_RUNTIME_METRIC_NAME = "cleanup.runtime-timer" 

219 

220#: Time taken to bulk delete a set of blobs from the index 

221CLEANUP_INDEX_BULK_DELETE_METRIC_NAME = "cleanup.index.bulk-delete-timer" 

222 

223#: Time taken to mark a set of blobs as deleted in the index 

224CLEANUP_INDEX_MARK_DELETED_METRIC_NAME = "cleanup.index.mark-as-deleted-timer" 

225 

226#: Number of blobs that were already marked for deletion in the index when marking as deleted 

227CLEANUP_INDEX_PREMARKED_BLOBS_METRIC_NAME = "cleanup.index.premarked-blobs-count" 

228 

229#: Time taken to bulk delete a set of blobs from the storage backend 

230CLEANUP_STORAGE_BULK_DELETE_METRIC_NAME = "cleanup.storage.bulk-delete-timer" 

231 

232#: Number of blobs that failed to be deleted from the storage backend in a given bulk delete request 

233CLEANUP_STORAGE_DELETION_FAILURES_METRIC_NAME = "cleanup.storage.deletion-failures-count" 

234 

235 

236# 

237# ExecutedActionMetadata metrics 

238# 

239 

240#: Time spent queued before being assigned to a worker 

241QUEUED_TIME_METRIC_NAME = "action-queued-time" 

242 

243#: Time spent in the worker (fetching inputs + executing + uploading outputs) 

244WORKER_HANDLING_TIME_METRIC_NAME = "worker-handling-time" 

245 

246#: Time spent fetching inputs before execution 

247INPUTS_FETCHING_TIME_METRIC_NAME = "inputs-fetching-time" 

248 

249#: Time spent waiting for executions to complete 

250EXECUTION_TIME_METRIC_NAME = "execution-time" 

251 

252#: Time spent uploading inputs after execution 

253OUTPUTS_UPLOADING_TIME_METRIC_NAME = "outputs-uploading-time" 

254 

255#: Total time spent servicing an execution request (time queued +fetching inputs + 

256# executing + uploading outputs) 

257TOTAL_HANDLING_TIME_METRIC_NAME = "total-handling-time" 

258 

259 

260# 

261# Execution service metrics 

262# 

263 

264#: Number of bots connected 

265BOT_COUNT_METRIC_NAME = "bots-count" 

266 

267#: Number of clients connected 

268CLIENT_COUNT_METRIC_NAME = "clients-count" 

269 

270#: Number of leases present in the scheduler 

271LEASE_COUNT_METRIC_NAME = "lease-count" 

272 

273#: Counter metric indicating lease stage transitions 

274LEASE_CHANGES_COUNTER_METRIC_NAME = "lease-state-transitions-counter" 

275 

276#: Number of active jobs in the scheduler 

277JOB_COUNT_METRIC_NAME = "job-count" 

278 

279#: Counter metric indicating job stage transitions 

280JOB_CHANGES_COUNTER_METRIC_NAME = "job-stage-transitions-counter" 

281 

282#: Average time that a job spends waiting to be executed 

283AVERAGE_QUEUE_TIME_METRIC_NAME = "average-queue-time" 

284 

285#: Number of ``Execute()`` requests received: 

286EXECUTE_REQUEST_COUNT_METRIC_NAME = "execute-call-count" 

287 

288#: Time spent servicing ``Execute()`` requests: 

289EXECUTE_SERVICER_TIME_METRIC_NAME = "execute-servicing-time" 

290 

291#: Number of ``WaitExecution()`` requests received: 

292WAIT_EXECUTION_REQUEST_COUNT_METRIC_NAME = "wait-execution-call-count" 

293 

294#: Time spent servicing ``WaitExecution()`` requests: 

295WAIT_EXECUTION_SERVICER_TIME_METRIC_NAME = "wait-execution-servicing-time" 

296 

297#: Number of exceptions thrown from ``WaitExecution()`` calls 

298WAIT_EXECUTION_EXCEPTION_COUNT_METRIC_NAME = "wait-execution-exception" 

299 

300#: Number of exceptions thrown from ``Execute()`` calls 

301EXECUTE_EXCEPTION_COUNT_METRIC_NAME = "execute-exception" 

302 

303# 

304# LogStream service metrics 

305# 

306 

307#: Time spent creating a LogStream 

308LOGSTREAM_CREATE_LOG_STREAM_TIME_METRIC_NAME = "logstream.create-logstream-time" 

309 

310#: Number of bytes in a committed logstream 

311LOGSTREAM_WRITE_UPLOADED_BYTES_COUNT = "logstream.write.uploaded-bytes-count" 

312 

313# 

314# Authentication Metrics 

315# 

316 

317#: Number of invalid JWTs recieved: 

318INVALID_JWT_COUNT_METRIC_NAME = "authentication.jwt.invalid-jwt-count" 

319 

320#: Duration of JWK fetch request: 

321JWK_FETCH_TIME_METRIC_NAME = "authentication.jwk.fetch-request-time" 

322 

323#: Duration of JWT decoding: 

324JWT_DECODE_TIME_METRIC_NAME = "authentication.jwt.decode-jwt-time" 

325 

326#: Duration of JWT validation (can include fetching JWK): 

327JWT_VALIDATION_TIME_METRIC_NAME = "authentication.jwt.validate-jwt-time" 

328 

329# 

330# Bots service metrics 

331# 

332 

333#: Time spent servicing ``CreateBotSession()`` requests 

334BOTS_CREATE_BOT_SESSION_TIME_METRIC_NAME = "bots.create-bot-session-time" 

335 

336#: Time spent servicing ``UpdateBotSession()`` requests 

337BOTS_UPDATE_BOT_SESSION_TIME_METRIC_NAME = "bots.update-bot-session-time" 

338 

339#: Time spent selecting an Action from the data store to create a lease for 

340BOTS_ASSIGN_JOB_LEASES_TIME_METRIC_NAME = "bots.assign-job-leases-time" 

341 

342#: Number of exceptions thrown from ``CreateBotSession()`` calls 

343BOTS_CREATE_BOT_SESSION_EXCEPTION_COUNT_METRIC_NAME = "create-bot-session-exception" 

344 

345#: Number of exceptions thrown from ``UpdateBotSession()`` calls 

346BOTS_UPDATE_BOT_SESSION_EXCEPTION_COUNT_METRIC_NAME = "update-bot-session-exception" 

347 

348# 

349# Scheduler metrics 

350# 

351 

352#: Time taken to queue an Action 

353SCHEDULER_QUEUE_ACTION_TIME_METRIC_NAME = "scheduler.queue-action-time" 

354 

355#: Time taken to update a job's Lease 

356SCHEDULER_UPDATE_LEASE_TIME_METRIC_NAME = "scheduler.update-lease-time" 

357 

358#: Time taken to cancel an Operation 

359SCHEDULER_CANCEL_OPERATION_TIME_METRIC_NAME = "scheduler.cancel-operation-time" 

360 

361 

362# 

363# Data Store (scheduler's backend) metrics 

364# 

365# Some of these seem like duplicates of the request-level timers 

366# at a glance, but measuring at the data store level allows us to 

367# see how much overhead our own code is adding to the calls. 

368# 

369 

370#: Time taken to create a Job 

371DATA_STORE_CREATE_JOB_TIME_METRIC_NAME = "datastore.all.create-job-time" 

372 

373#: Time taken to enqueue a Job 

374DATA_STORE_QUEUE_JOB_TIME_METRIC_NAME = "datastore.all.queue-job-time" 

375 

376#: Time taken to update a Job 

377DATA_STORE_UPDATE_JOB_TIME_METRIC_NAME = "datastore.all.update-job-time" 

378 

379#: Time taken to create a Lease 

380DATA_STORE_CREATE_LEASE_TIME_METRIC_NAME = "datastore.all.create-lease-time" 

381 

382#: Time taken to update a Lease 

383DATA_STORE_UPDATE_LEASE_TIME_METRIC_NAME = "datastore.all.update-lease-time" 

384 

385#: Time taken to create an Operation 

386DATA_STORE_CREATE_OPERATION_TIME_METRIC_NAME = "datastore.all.create-operation-time" 

387 

388#: Time taken to update an Operation 

389DATA_STORE_UPDATE_OPERATION_TIME_METRIC_NAME = "datastore.all.update-operation-time" 

390 

391#: Time taken to get a list of Operations 

392DATA_STORE_LIST_OPERATIONS_TIME_METRIC_NAME = "datastore.all.list-operations-time" 

393 

394#: Time taken to get a Job by Action Digest 

395DATA_STORE_GET_JOB_BY_DIGEST_TIME_METRIC_NAME = "datastore.all.get-job-by-digest-time" 

396 

397#: Time taken to get a Job by name 

398DATA_STORE_GET_JOB_BY_NAME_TIME_METRIC_NAME = "datastore.all.get-job-by-name-time" 

399 

400#: Time taken to get a Job by Operation name 

401DATA_STORE_GET_JOB_BY_OPERATION_TIME_METRIC_NAME = "datastore.all.get-job-by-operation-time" 

402 

403#: Time taken to handle checking for a job update. When using 

404# a database backend other than PostgreSQL, this will measure 

405# how long it takes to check all watched jobs for updates once. 

406# For PostgreSQL and the in-memory scheduler, this measures how 

407# long it takes to handle a job update notification. 

408DATA_STORE_CHECK_FOR_UPDATE_TIME_METRIC_NAME = "datastore.all.check-for-update-time" 

409 

410# SQL-specific metrics 

411 

412#: Time taken to store the ExecuteResponse 

413DATA_STORE_STORE_RESPONSE_TIME_METRIC_NAME = "datastore.sql.store-response-time" 

414 

415#: Number of rows deleted from the jobs table during each pruning 

416DATA_STORE_PRUNER_NUM_ROWS_DELETED_METRIC_NAME = "datastore.sql.pruner-num-rows-deleted" 

417 

418#: Time taken per scheduler pruning invocation 

419DATA_STORE_PRUNER_DELETE_TIME_METRIC_NAME = "datastore.sql.pruner-delete-time" 

420 

421#: Number of queued jobs dequeued due to timeout 

422DATA_STORE_QUEUE_TIMEOUT_NUM_METRIC_NAME = "datastore.sql.queue-timeout-num" 

423 

424# Time taken per batch of queue timeout 

425DATA_STORE_QUEUE_TIMEOUT_TIME_METRIC_NAME = "datastore.sql.queue-timeout-time" 

426 

427# 

428# Operations service metrics 

429# 

430 

431#: Time taken to completely handle a ListOperations request 

432OPERATIONS_LIST_OPERATIONS_TIME_METRIC_NAME = "operations.list-operations-time" 

433 

434#: Time taken to completely handle a GetOperation request 

435OPERATIONS_GET_OPERATION_TIME_METRIC_NAME = "operations.get-operation-time" 

436 

437#: Time taken to completely handle a CancelOperation request 

438OPERATIONS_CANCEL_OPERATION_TIME_METRIC_NAME = "operations.cancel-operation-time" 

439 

440#: Time taken to completely handle a DeleteOperation request. BuildGrid 

441# doesn't actually support DeleteOperation, but this metric will at 

442# least provide insight into whether people are attempting to call it. 

443OPERATIONS_DELETE_OPERATION_TIME_METRIC_NAME = "operations.delete-operation-time" 

444 

445#: Number of exceptions thrown from ``GetOperation()`` calls 

446OPERATIONS_GET_OPERATION_EXCEPTION_COUNT_METRIC_NAME = "get-operation-exception" 

447 

448#: Number of exceptions thrown from ``ListOperations()`` calls 

449OPERATIONS_LIST_OPERATIONS_EXCEPTION_COUNT_METRIC_NAME = "list-operations-exception" 

450 

451#: Number of exceptions thrown from ``CancelOperation()`` calls 

452OPERATIONS_CANCEL_OPERATION_EXCEPTION_COUNT_METRIC_NAME = "cancel-operation-exception" 

453 

454# 

455# Capabilities service metrics 

456# 

457 

458#: Number of exceptions thrown from ``GetCapabilities()`` calls 

459CAPABILITIES_GET_CAPABILITIES_EXCEPTION_COUNT_METRIC_NAME = "get-capabilities-exception" 

460 

461# 

462# Build Events service metrics 

463# 

464 

465#: Number of exceptions thrown from ``QueryEventStreams()`` calls 

466BUILD_EVENTS_QUERY_EVENT_STREAMS_EXCEPTION_COUNT_METRIC_NAME = "query-event-streams-exception" 

467 

468#: Number of exceptions thrown from ``PublishLifeCycleEvent()`` calls 

469BUILD_EVENTS_PUBLISH_LIFE_CYCLE_EVENT_EXCEPTION_COUNT_METRIC_NAME = "publish-life-cycle-event-exception" 

470 

471#: Number of exceptions thrown from ``PublishBuildToolEventStream()`` calls 

472BUILD_EVENTS_PUBLISH_BUILD_TOOL_EVENT_STREAM_EXCEPTION_COUNT_METRIC_NAME = "publish-build-tool-event-stream-exception"