@ancplua/qyl-api-schema 0.4.0 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/README.md +50 -64
  2. package/api/routes.tsp +90 -943
  3. package/api/runner.tsp +74 -0
  4. package/api/streaming.tsp +13 -299
  5. package/common/errors.tsp +14 -1
  6. package/common/pagination.tsp +1 -1
  7. package/common/types.tsp +2 -6
  8. package/generated/ts-runtime/api.d.ts +734 -0
  9. package/generated/ts-runtime/api.js +219 -0
  10. package/index.tsp +7 -34
  11. package/models/health.tsp +22 -0
  12. package/models/runner-mcp.tsp +47 -0
  13. package/models/runner.tsp +37 -0
  14. package/models/session.tsp +1 -1
  15. package/otel/enums.tsp +1 -1
  16. package/otel/logs.tsp +1 -1
  17. package/otel/otel-conventions.tsp +0 -1
  18. package/otel/profiles.tsp +1 -1
  19. package/otel/resource.tsp +1 -1
  20. package/otel/span.tsp +1 -1
  21. package/package.json +46 -34
  22. package/VERSIONING.md +0 -88
  23. package/generated/README.md +0 -35
  24. package/intelligence/causal-rules.tsp +0 -34
  25. package/intelligence/diagnostic-patterns.tsp +0 -54
  26. package/intelligence/investigation-strategies.tsp +0 -37
  27. package/intelligence/main.tsp +0 -17
  28. package/intelligence/seed/patterns.tsp +0 -171
  29. package/intelligence/seed/rules.tsp +0 -43
  30. package/intelligence/seed/strategies.tsp +0 -55
  31. package/intelligence/signals.tsp +0 -60
  32. package/models/agent/agent-run.tsp +0 -154
  33. package/models/agent/tool-call.tsp +0 -122
  34. package/models/agent/workflow-checkpoint.tsp +0 -50
  35. package/models/agent/workflow-execution.tsp +0 -136
  36. package/models/alerting.tsp +0 -436
  37. package/models/configurator.tsp +0 -433
  38. package/models/control-graph.tsp +0 -197
  39. package/models/db.tsp +0 -767
  40. package/models/deployment.tsp +0 -365
  41. package/models/error.tsp +0 -433
  42. package/models/genai.tsp +0 -1305
  43. package/models/http.tsp +0 -547
  44. package/models/identity.tsp +0 -213
  45. package/models/issues.tsp +0 -484
  46. package/models/log.tsp +0 -140
  47. package/models/messaging.tsp +0 -304
  48. package/models/otel-config.tsp +0 -455
  49. package/models/retention.tsp +0 -240
  50. package/models/rpc.tsp +0 -309
  51. package/models/search.tsp +0 -243
  52. package/models/system.tsp +0 -400
  53. package/models/test.tsp +0 -346
  54. package/models/triage.tsp +0 -113
  55. package/models/workflow.tsp +0 -396
  56. package/models/workspace.tsp +0 -435
  57. package/otel/metrics.tsp +0 -358
  58. package/tspconfig.yaml +0 -49
package/models/db.tsp DELETED
@@ -1,767 +0,0 @@
1
- // =============================================================================
2
- // ANcpLua v2.0 - Database Semantic Conventions
3
- // =============================================================================
4
- // Database telemetry attributes with 45+ DBMS types.
5
- // =============================================================================
6
-
7
- import "@typespec/versioning";
8
- import "../common/types.tsp";
9
-
10
- using TypeSpec.Versioning;
11
- using Qyl.Api.Contracts.Common;
12
-
13
- namespace Qyl.Api.Contracts.Domains.Data.Db;
14
-
15
- // =============================================================================
16
- // Database Span Attributes
17
- // =============================================================================
18
-
19
- @doc("Database span attributes following OTel Semantic Conventions")
20
- model DbAttributes {
21
- // ---------------------------------------------------------------------------
22
- // System & Connection
23
- // ---------------------------------------------------------------------------
24
-
25
- @doc("Database management system identifier")
26
- @encodedName("application/json", ANcpLua.OpenTelemetry.SemanticConventions.Keys.Db.SystemName)
27
- systemName: DbSystem;
28
-
29
- @doc("Database namespace (database name, schema, etc.)")
30
- @encodedName("application/json", ANcpLua.OpenTelemetry.SemanticConventions.Keys.Db.Namespace)
31
- `namespace`?: string;
32
-
33
- @doc("Database operation name (query, insert, delete, etc.)")
34
- @encodedName("application/json", ANcpLua.OpenTelemetry.SemanticConventions.Keys.Db.OperationName)
35
- operationName?: DbOperationName;
36
-
37
- @doc("Batch size (number of statements in batch)")
38
- @encodedName("application/json", ANcpLua.OpenTelemetry.SemanticConventions.Keys.Db.OperationBatchSize)
39
- batchSize?: int32;
40
-
41
- // ---------------------------------------------------------------------------
42
- // Query Details
43
- // ---------------------------------------------------------------------------
44
-
45
- @doc("Database statement (query text, may be sanitized)")
46
- @encodedName("application/json", ANcpLua.OpenTelemetry.SemanticConventions.Keys.Db.QueryText)
47
- queryText?: string;
48
-
49
- @doc("Parameterized query template")
50
- @encodedName("application/json", ANcpLua.OpenTelemetry.SemanticConventions.Keys.Db.QuerySummary)
51
- querySummary?: string;
52
-
53
- @doc("Query parameters (for prepared statements). Keys map to db.query.parameter.<key>")
54
- @encodedName("application/json", ANcpLua.OpenTelemetry.SemanticConventions.Keys.Db.QueryParameter)
55
- queryParameters?: Record<string>;
56
-
57
- // ---------------------------------------------------------------------------
58
- // Collection/Table Information
59
- // ---------------------------------------------------------------------------
60
-
61
- @doc("Table name")
62
- @encodedName("application/json", ANcpLua.OpenTelemetry.SemanticConventions.Keys.Db.CollectionName)
63
- collectionName?: string;
64
-
65
- // ---------------------------------------------------------------------------
66
- // Response Metrics
67
- // ---------------------------------------------------------------------------
68
-
69
- @doc("Number of rows affected/returned")
70
- @encodedName("application/json", ANcpLua.OpenTelemetry.SemanticConventions.Keys.Db.ResponseReturnedRows)
71
- returnedRows?: int64;
72
-
73
- @doc("Status code from database")
74
- @encodedName("application/json", ANcpLua.OpenTelemetry.SemanticConventions.Keys.Db.ResponseStatusCode)
75
- responseStatusCode?: string;
76
-
77
- // ---------------------------------------------------------------------------
78
- // Server Information
79
- // ---------------------------------------------------------------------------
80
-
81
- @doc("Database server address")
82
- @encodedName("application/json", ANcpLua.OpenTelemetry.SemanticConventions.Keys.Server.Address)
83
- serverAddress?: string;
84
-
85
- @doc("Database server port")
86
- @encodedName("application/json", ANcpLua.OpenTelemetry.SemanticConventions.Keys.Server.Port)
87
- serverPort?: Port;
88
-
89
- // ---------------------------------------------------------------------------
90
- // Connection Pool
91
- // ---------------------------------------------------------------------------
92
-
93
- @doc("Connection pool name")
94
- @encodedName("application/json", ANcpLua.OpenTelemetry.SemanticConventions.Keys.Db.ClientConnectionPoolName)
95
- connectionPoolName?: string;
96
-
97
- @doc("Connection state")
98
- @encodedName("application/json", ANcpLua.OpenTelemetry.SemanticConventions.Keys.Db.ClientConnectionState)
99
- connectionState?: DbConnectionState;
100
-
101
- }
102
-
103
- // =============================================================================
104
- // Database System Enumeration (45+ DBMS Types)
105
- // =============================================================================
106
-
107
- @doc("Database management system identifiers")
108
- enum DbSystem {
109
- // ---------------------------------------------------------------------------
110
- // Relational Databases
111
- // ---------------------------------------------------------------------------
112
-
113
- @doc("PostgreSQL")
114
- postgresql: "postgresql",
115
-
116
- @doc("MySQL / MariaDB")
117
- mysql: "mysql",
118
-
119
- @doc("MariaDB")
120
- mariadb: "mariadb",
121
-
122
- @doc("Microsoft SQL Server")
123
- mssql: "mssql",
124
-
125
- @doc("Oracle Database")
126
- oracle: "oracle",
127
-
128
- @doc("IBM DB2")
129
- db2: "db2",
130
-
131
- @doc("SQLite")
132
- sqlite: "sqlite",
133
-
134
- @doc("SAP HANA")
135
- hana: "hana",
136
-
137
- @doc("SAP MaxDB")
138
- maxdb: "maxdb",
139
-
140
- @doc("SAP SQL Anywhere")
141
- sqlanywhere: "sqlanywhere",
142
-
143
- @doc("Teradata")
144
- teradata: "teradata",
145
-
146
- @doc("Sybase")
147
- sybase: "sybase",
148
-
149
- @doc("Informix")
150
- informix: "informix",
151
-
152
- @doc("Firebird")
153
- firebird: "firebird",
154
-
155
- @doc("Interbase")
156
- interbase: "interbase",
157
-
158
- @doc("H2 Database")
159
- h2: "h2",
160
-
161
- @doc("HSQLDB")
162
- hsqldb: "hsqldb",
163
-
164
- @doc("Apache Derby")
165
- derby: "derby",
166
-
167
- @doc("CockroachDB")
168
- cockroachdb: "cockroachdb",
169
-
170
- @doc("TiDB")
171
- tidb: "tidb",
172
-
173
- @doc("YugabyteDB")
174
- yugabyte: "yugabyte",
175
-
176
- @doc("Vitess")
177
- vitess: "vitess",
178
-
179
- @doc("ClickHouse")
180
- clickhouse: "clickhouse",
181
-
182
- @doc("Snowflake")
183
- snowflake: "snowflake",
184
-
185
- @doc("Amazon Redshift")
186
- redshift: "redshift",
187
-
188
- @doc("Google BigQuery")
189
- bigquery: "bigquery",
190
-
191
- @doc("Azure Synapse")
192
- synapse: "synapse",
193
-
194
- @doc("Databricks")
195
- databricks: "databricks",
196
-
197
- @doc("Presto")
198
- presto: "presto",
199
-
200
- @doc("Trino")
201
- trino: "trino",
202
-
203
- @doc("Apache Hive")
204
- hive: "hive",
205
-
206
- @doc("Apache Spark SQL")
207
- sparksql: "sparksql",
208
-
209
- @doc("Apache Impala")
210
- impala: "impala",
211
-
212
- @doc("Apache Drill")
213
- drill: "drill",
214
-
215
- @doc("DuckDB")
216
- duckdb: "duckdb",
217
-
218
- @doc("Vertica")
219
- vertica: "vertica",
220
-
221
- @doc("Greenplum")
222
- greenplum: "greenplum",
223
-
224
- @doc("Netezza")
225
- netezza: "netezza",
226
-
227
- // ---------------------------------------------------------------------------
228
- // NoSQL Document Databases
229
- // ---------------------------------------------------------------------------
230
-
231
- @doc("MongoDB")
232
- mongodb: "mongodb",
233
-
234
- @doc("Couchbase")
235
- couchbase: "couchbase",
236
-
237
- @doc("CouchDB")
238
- couchdb: "couchdb",
239
-
240
- @doc("Amazon DocumentDB")
241
- documentdb: "documentdb",
242
-
243
- @doc("Azure Cosmos DB")
244
- cosmosdb: "cosmosdb",
245
-
246
- @doc("Google Cloud Firestore")
247
- firestore: "firestore",
248
-
249
- @doc("RavenDB")
250
- ravendb: "ravendb",
251
-
252
- @doc("ArangoDB")
253
- arangodb: "arangodb",
254
-
255
- // ---------------------------------------------------------------------------
256
- // Key-Value Stores
257
- // ---------------------------------------------------------------------------
258
-
259
- @doc("Redis")
260
- redis: "redis",
261
-
262
- @doc("Valkey")
263
- valkey: "valkey",
264
-
265
- @doc("KeyDB")
266
- keydb: "keydb",
267
-
268
- @doc("Memcached")
269
- memcached: "memcached",
270
-
271
- @doc("Amazon DynamoDB")
272
- dynamodb: "dynamodb",
273
-
274
- @doc("Azure Table Storage")
275
- azuretable: "azuretable",
276
-
277
- @doc("Hazelcast")
278
- hazelcast: "hazelcast",
279
-
280
- @doc("etcd")
281
- etcd: "etcd",
282
-
283
- @doc("Apache Ignite")
284
- ignite: "ignite",
285
-
286
- @doc("RocksDB")
287
- rocksdb: "rocksdb",
288
-
289
- @doc("LevelDB")
290
- leveldb: "leveldb",
291
-
292
- @doc("Berkeley DB")
293
- berkeleydb: "berkeleydb",
294
-
295
- // ---------------------------------------------------------------------------
296
- // Wide-Column Stores
297
- // ---------------------------------------------------------------------------
298
-
299
- @doc("Apache Cassandra")
300
- cassandra: "cassandra",
301
-
302
- @doc("ScyllaDB")
303
- scylla: "scylla",
304
-
305
- @doc("Apache HBase")
306
- hbase: "hbase",
307
-
308
- @doc("Google Cloud Bigtable")
309
- bigtable: "bigtable",
310
-
311
- // ---------------------------------------------------------------------------
312
- // Graph Databases
313
- // ---------------------------------------------------------------------------
314
-
315
- @doc("Neo4j")
316
- neo4j: "neo4j",
317
-
318
- @doc("Amazon Neptune")
319
- neptune: "neptune",
320
-
321
- @doc("ArangoDB (graph mode)")
322
- arangodbGraph: "arangodb_graph",
323
-
324
- @doc("JanusGraph")
325
- janusgraph: "janusgraph",
326
-
327
- @doc("TigerGraph")
328
- tigergraph: "tigergraph",
329
-
330
- @doc("Dgraph")
331
- dgraph: "dgraph",
332
-
333
- // ---------------------------------------------------------------------------
334
- // Time-Series Databases
335
- // ---------------------------------------------------------------------------
336
-
337
- @doc("InfluxDB")
338
- influxdb: "influxdb",
339
-
340
- @doc("TimescaleDB")
341
- timescaledb: "timescaledb",
342
-
343
- @doc("Prometheus")
344
- prometheus: "prometheus",
345
-
346
- @doc("QuestDB")
347
- questdb: "questdb",
348
-
349
- @doc("Amazon Timestream")
350
- timestream: "timestream",
351
-
352
- @doc("Apache Druid")
353
- druid: "druid",
354
-
355
- @doc("VictoriaMetrics")
356
- victoriametrics: "victoriametrics",
357
-
358
- // ---------------------------------------------------------------------------
359
- // Search Engines
360
- // ---------------------------------------------------------------------------
361
-
362
- @doc("Elasticsearch")
363
- elasticsearch: "elasticsearch",
364
-
365
- @doc("OpenSearch")
366
- opensearch: "opensearch",
367
-
368
- @doc("Apache Solr")
369
- solr: "solr",
370
-
371
- @doc("Splunk")
372
- splunk: "splunk",
373
-
374
- @doc("Meilisearch")
375
- meilisearch: "meilisearch",
376
-
377
- @doc("Typesense")
378
- typesense: "typesense",
379
-
380
- @doc("Algolia")
381
- algolia: "algolia",
382
-
383
- // ---------------------------------------------------------------------------
384
- // Vector Databases
385
- // ---------------------------------------------------------------------------
386
-
387
- @doc("Pinecone")
388
- pinecone: "pinecone",
389
-
390
- @doc("Milvus")
391
- milvus: "milvus",
392
-
393
- @doc("Weaviate")
394
- weaviate: "weaviate",
395
-
396
- @doc("Qdrant")
397
- qdrant: "qdrant",
398
-
399
- @doc("Chroma")
400
- chroma: "chroma",
401
-
402
- @doc("pgvector (PostgreSQL extension)")
403
- pgvector: "pgvector",
404
-
405
- // ---------------------------------------------------------------------------
406
- // Embedded & File-Based
407
- // ---------------------------------------------------------------------------
408
-
409
- @doc("Microsoft Access")
410
- msaccess: "msaccess",
411
-
412
- @doc("FileMaker")
413
- filemaker: "filemaker",
414
-
415
- @doc("FoxPro")
416
- foxpro: "foxpro",
417
-
418
- @doc("dBase")
419
- dbase: "dbase",
420
-
421
- // ---------------------------------------------------------------------------
422
- // Other
423
- // ---------------------------------------------------------------------------
424
-
425
- @doc("ODBC (generic)")
426
- odbc: "odbc",
427
-
428
- @doc("JDBC (generic)")
429
- jdbc: "jdbc",
430
-
431
- @doc("Other/unknown database system")
432
- other: "other",
433
- }
434
-
435
- // =============================================================================
436
- // Database Operation Names
437
- // =============================================================================
438
-
439
- @doc("Database operation names")
440
- enum DbOperationName {
441
- @doc("SELECT query")
442
- select: "SELECT",
443
-
444
- @doc("INSERT query")
445
- insert: "INSERT",
446
-
447
- @doc("UPDATE query")
448
- update: "UPDATE",
449
-
450
- @doc("DELETE query")
451
- delete: "DELETE",
452
-
453
- @doc("CREATE operation")
454
- create: "CREATE",
455
-
456
- @doc("DROP operation")
457
- drop: "DROP",
458
-
459
- @doc("ALTER operation")
460
- alter: "ALTER",
461
-
462
- @doc("TRUNCATE operation")
463
- truncate: "TRUNCATE",
464
-
465
- @doc("EXECUTE stored procedure")
466
- execute: "EXECUTE",
467
-
468
- @doc("CALL stored procedure")
469
- call: "CALL",
470
-
471
- @doc("BEGIN transaction")
472
- begin: "BEGIN",
473
-
474
- @doc("COMMIT transaction")
475
- commit: "COMMIT",
476
-
477
- @doc("ROLLBACK transaction")
478
- rollback: "ROLLBACK",
479
-
480
- @doc("SAVEPOINT in transaction")
481
- savepoint: "SAVEPOINT",
482
-
483
- // NoSQL Operations
484
- @doc("Find/query operation")
485
- find: "find",
486
-
487
- @doc("Find one operation")
488
- findOne: "findOne",
489
-
490
- @doc("Insert one operation")
491
- insertOne: "insertOne",
492
-
493
- @doc("Insert many operation")
494
- insertMany: "insertMany",
495
-
496
- @doc("Update one operation")
497
- updateOne: "updateOne",
498
-
499
- @doc("Update many operation")
500
- updateMany: "updateMany",
501
-
502
- @doc("Delete one operation")
503
- deleteOne: "deleteOne",
504
-
505
- @doc("Delete many operation")
506
- deleteMany: "deleteMany",
507
-
508
- @doc("Aggregate operation")
509
- aggregate: "aggregate",
510
-
511
- @doc("Count operation")
512
- count: "count",
513
-
514
- @doc("Get operation")
515
- get: "GET",
516
-
517
- @doc("Set operation")
518
- set: "SET",
519
-
520
- @doc("Delete operation")
521
- del: "DEL",
522
-
523
- @doc("Ping operation")
524
- ping: "PING",
525
- }
526
-
527
- // =============================================================================
528
- // Database Connection States
529
- // =============================================================================
530
-
531
- @doc("Database connection states")
532
- enum DbConnectionState {
533
- @doc("Connection is idle in pool")
534
- idle: "idle",
535
-
536
- @doc("Connection is in use")
537
- used: "used",
538
- }
539
-
540
- // =============================================================================
541
- // Database Metrics
542
- // =============================================================================
543
-
544
- @doc("Database client operation duration metric")
545
- model DbClientOperationDurationMetric {
546
- @doc("Metric name")
547
- name: "db.client.operation.duration";
548
-
549
- @doc("Metric unit (seconds)")
550
- unit: "s";
551
-
552
- @doc("Database system")
553
- @encodedName("application/json", ANcpLua.OpenTelemetry.SemanticConventions.Keys.Db.SystemName)
554
- systemName: DbSystem;
555
-
556
- @doc("Database namespace")
557
- @encodedName("application/json", ANcpLua.OpenTelemetry.SemanticConventions.Keys.Db.Namespace)
558
- `namespace`?: string;
559
-
560
- @doc("Operation name")
561
- @encodedName("application/json", ANcpLua.OpenTelemetry.SemanticConventions.Keys.Db.OperationName)
562
- operationName: DbOperationName;
563
-
564
- @doc("Collection/table name")
565
- @encodedName("application/json", ANcpLua.OpenTelemetry.SemanticConventions.Keys.Db.CollectionName)
566
- collectionName?: string;
567
-
568
- @doc("Error type if failed")
569
- @encodedName("application/json", ANcpLua.OpenTelemetry.SemanticConventions.Keys.Error.Type)
570
- errorType?: string;
571
- }
572
-
573
- @doc("Database connection pool size metric")
574
- model DbConnectionPoolSizeMetric {
575
- @doc("Metric name")
576
- name: "db.client.connection.count";
577
-
578
- @doc("Metric unit")
579
- unit: "{connection}";
580
-
581
- @doc("Database system")
582
- @encodedName("application/json", ANcpLua.OpenTelemetry.SemanticConventions.Keys.Db.SystemName)
583
- systemName: DbSystem;
584
-
585
- @doc("Pool name")
586
- @encodedName("application/json", ANcpLua.OpenTelemetry.SemanticConventions.Keys.Db.ClientConnectionPoolName)
587
- poolName: string;
588
-
589
- @doc("Connection state")
590
- @encodedName("application/json", ANcpLua.OpenTelemetry.SemanticConventions.Keys.Db.ClientConnectionState)
591
- state: DbConnectionState;
592
- }
593
-
594
- @doc("Database connection create time metric")
595
- model DbConnectionCreateTimeMetric {
596
- @doc("Metric name")
597
- name: "db.client.connection.create_time";
598
-
599
- @doc("Metric unit (seconds)")
600
- unit: "s";
601
-
602
- @doc("Database system")
603
- @encodedName("application/json", ANcpLua.OpenTelemetry.SemanticConventions.Keys.Db.SystemName)
604
- systemName: DbSystem;
605
-
606
- @doc("Pool name")
607
- @encodedName("application/json", ANcpLua.OpenTelemetry.SemanticConventions.Keys.Db.ClientConnectionPoolName)
608
- poolName: string;
609
- }
610
-
611
- @doc("Database connection wait time metric")
612
- model DbConnectionWaitTimeMetric {
613
- @doc("Metric name")
614
- name: "db.client.connection.wait_time";
615
-
616
- @doc("Metric unit (seconds)")
617
- unit: "s";
618
-
619
- @doc("Database system")
620
- @encodedName("application/json", ANcpLua.OpenTelemetry.SemanticConventions.Keys.Db.SystemName)
621
- systemName: DbSystem;
622
-
623
- @doc("Pool name")
624
- @encodedName("application/json", ANcpLua.OpenTelemetry.SemanticConventions.Keys.Db.ClientConnectionPoolName)
625
- poolName: string;
626
- }
627
-
628
- @doc("Database connection use time metric")
629
- model DbConnectionUseTimeMetric {
630
- @doc("Metric name")
631
- name: "db.client.connection.use_time";
632
-
633
- @doc("Metric unit (seconds)")
634
- unit: "s";
635
-
636
- @doc("Database system")
637
- @encodedName("application/json", ANcpLua.OpenTelemetry.SemanticConventions.Keys.Db.SystemName)
638
- systemName: DbSystem;
639
-
640
- @doc("Pool name")
641
- @encodedName("application/json", ANcpLua.OpenTelemetry.SemanticConventions.Keys.Db.ClientConnectionPoolName)
642
- poolName: string;
643
- }
644
-
645
- @doc("Database connection pending requests metric")
646
- model DbConnectionPendingRequestsMetric {
647
- @doc("Metric name")
648
- name: "db.client.connection.pending_requests";
649
-
650
- @doc("Metric unit")
651
- unit: "{request}";
652
-
653
- @doc("Database system")
654
- @encodedName("application/json", ANcpLua.OpenTelemetry.SemanticConventions.Keys.Db.SystemName)
655
- systemName: DbSystem;
656
-
657
- @doc("Pool name")
658
- @encodedName("application/json", ANcpLua.OpenTelemetry.SemanticConventions.Keys.Db.ClientConnectionPoolName)
659
- poolName: string;
660
- }
661
-
662
- @doc("Database connection timeouts metric")
663
- model DbConnectionTimeoutsMetric {
664
- @doc("Metric name")
665
- name: "db.client.connection.timeouts";
666
-
667
- @doc("Metric unit")
668
- unit: "{timeout}";
669
-
670
- @doc("Database system")
671
- @encodedName("application/json", ANcpLua.OpenTelemetry.SemanticConventions.Keys.Db.SystemName)
672
- systemName: DbSystem;
673
-
674
- @doc("Pool name")
675
- @encodedName("application/json", ANcpLua.OpenTelemetry.SemanticConventions.Keys.Db.ClientConnectionPoolName)
676
- poolName: string;
677
- }
678
-
679
- // =============================================================================
680
- // Database Statistics
681
- // =============================================================================
682
-
683
- @doc("Aggregated database statistics")
684
- model DbStats {
685
- @doc("Total queries")
686
- @encodedName("application/json", "total_queries")
687
- totalQueries: Count;
688
-
689
- @doc("Total query duration in seconds")
690
- @encodedName("application/json", "total_duration_s")
691
- totalDurationS: float64;
692
-
693
- @doc("Average query duration in milliseconds")
694
- @encodedName("application/json", "avg_duration_ms")
695
- avgDurationMs: float64;
696
-
697
- @doc("Query error rate")
698
- @encodedName("application/json", "error_rate")
699
- errorRate: Ratio;
700
-
701
- @doc("Stats by database system")
702
- @encodedName("application/json", "by_system")
703
- bySystem?: DbSystemStats[];
704
-
705
- @doc("Stats by operation")
706
- @encodedName("application/json", "by_operation")
707
- byOperation?: DbOperationStats[];
708
-
709
- @doc("Slowest queries")
710
- @encodedName("application/json", "slowest_queries")
711
- slowestQueries?: DbSlowQuery[];
712
- }
713
-
714
- @doc("Statistics by database system")
715
- model DbSystemStats {
716
- @doc("Database system")
717
- system: DbSystem;
718
-
719
- @doc("Query count")
720
- @encodedName("application/json", "query_count")
721
- queryCount: Count;
722
-
723
- @doc("Average duration in milliseconds")
724
- @encodedName("application/json", "avg_duration_ms")
725
- avgDurationMs: float64;
726
-
727
- @doc("Error rate")
728
- @encodedName("application/json", "error_rate")
729
- errorRate: Ratio;
730
- }
731
-
732
- @doc("Statistics by operation type")
733
- model DbOperationStats {
734
- @doc("Operation name")
735
- operation: DbOperationName;
736
-
737
- @doc("Query count")
738
- @encodedName("application/json", "query_count")
739
- queryCount: Count;
740
-
741
- @doc("Average duration in milliseconds")
742
- @encodedName("application/json", "avg_duration_ms")
743
- avgDurationMs: float64;
744
- }
745
-
746
- @doc("Slow query record")
747
- model DbSlowQuery {
748
- @doc("Query text (sanitized)")
749
- @encodedName("application/json", "query_text")
750
- queryText: string;
751
-
752
- @doc("Duration in milliseconds")
753
- @encodedName("application/json", "duration_ms")
754
- durationMs: DurationMs;
755
-
756
- @doc("Database system")
757
- system: DbSystem;
758
-
759
- @doc("Database namespace")
760
- `namespace`?: string;
761
-
762
- @doc("Operation name")
763
- operation: DbOperationName;
764
-
765
- @doc("Timestamp")
766
- timestamp: utcDateTime;
767
- }