@oneuptime/common 8.0.5416 → 8.0.5440

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 (88) hide show
  1. package/Models/AnalyticsModels/AnalyticsBaseModel/AnalyticsBaseModel.ts +22 -0
  2. package/Models/AnalyticsModels/ExceptionInstance.ts +341 -323
  3. package/Models/AnalyticsModels/Log.ts +278 -231
  4. package/Models/AnalyticsModels/Metric.ts +504 -446
  5. package/Models/AnalyticsModels/MonitorLog.ts +99 -93
  6. package/Models/AnalyticsModels/Span.ts +473 -417
  7. package/Server/Services/AlertService.ts +12 -0
  8. package/Server/Services/IncidentService.ts +12 -0
  9. package/Server/Services/OpenTelemetryIngestService.ts +4 -0
  10. package/Server/Services/TelemetryAttributeService.ts +21 -4
  11. package/Server/Utils/Monitor/MonitorResource.ts +24 -0
  12. package/Server/Utils/Telemetry/Telemetry.ts +13 -0
  13. package/Types/AnalyticsDatabase/MaterializedView.ts +4 -0
  14. package/Types/AnalyticsDatabase/Projection.ts +4 -0
  15. package/Types/Date.ts +108 -0
  16. package/UI/Components/AutocompleteTextInput/AutocompleteTextInput.tsx +250 -0
  17. package/UI/Components/Dictionary/Dictionary.tsx +56 -66
  18. package/UI/Components/Filters/JSONFilter.tsx +2 -2
  19. package/UI/Components/Forms/Fields/FieldLabel.tsx +7 -3
  20. package/UI/Components/Forms/Fields/FormField.tsx +2 -2
  21. package/UI/Components/GanttChart/Bar/Index.tsx +13 -0
  22. package/UI/Components/GanttChart/Index.tsx +7 -1
  23. package/UI/Components/GanttChart/Row/Index.tsx +1 -0
  24. package/UI/Components/GanttChart/Row/Row.tsx +101 -10
  25. package/UI/Components/GanttChart/Row/RowLabel.tsx +7 -2
  26. package/UI/Components/GanttChart/Rows.tsx +7 -1
  27. package/UI/Components/LogsViewer/LogItem.tsx +149 -10
  28. package/UI/Components/LogsViewer/LogsViewer.tsx +25 -1
  29. package/UI/Components/ModelFilter/Filter.ts +1 -0
  30. package/UI/Components/ModelTable/BaseModelTable.tsx +2 -1
  31. package/build/dist/Models/AnalyticsModels/AnalyticsBaseModel/AnalyticsBaseModel.js +16 -0
  32. package/build/dist/Models/AnalyticsModels/AnalyticsBaseModel/AnalyticsBaseModel.js.map +1 -1
  33. package/build/dist/Models/AnalyticsModels/ExceptionInstance.js +325 -310
  34. package/build/dist/Models/AnalyticsModels/ExceptionInstance.js.map +1 -1
  35. package/build/dist/Models/AnalyticsModels/Log.js +263 -222
  36. package/build/dist/Models/AnalyticsModels/Log.js.map +1 -1
  37. package/build/dist/Models/AnalyticsModels/Metric.js +477 -427
  38. package/build/dist/Models/AnalyticsModels/Metric.js.map +1 -1
  39. package/build/dist/Models/AnalyticsModels/MonitorLog.js +95 -90
  40. package/build/dist/Models/AnalyticsModels/MonitorLog.js.map +1 -1
  41. package/build/dist/Models/AnalyticsModels/Span.js +449 -400
  42. package/build/dist/Models/AnalyticsModels/Span.js.map +1 -1
  43. package/build/dist/Server/Services/AlertService.js +4 -0
  44. package/build/dist/Server/Services/AlertService.js.map +1 -1
  45. package/build/dist/Server/Services/IncidentService.js +4 -0
  46. package/build/dist/Server/Services/IncidentService.js.map +1 -1
  47. package/build/dist/Server/Services/OpenTelemetryIngestService.js +1 -0
  48. package/build/dist/Server/Services/OpenTelemetryIngestService.js.map +1 -1
  49. package/build/dist/Server/Services/TelemetryAttributeService.js +19 -4
  50. package/build/dist/Server/Services/TelemetryAttributeService.js.map +1 -1
  51. package/build/dist/Server/Utils/Monitor/MonitorResource.js +12 -0
  52. package/build/dist/Server/Utils/Monitor/MonitorResource.js.map +1 -1
  53. package/build/dist/Server/Utils/Telemetry/Telemetry.js +6 -0
  54. package/build/dist/Server/Utils/Telemetry/Telemetry.js.map +1 -1
  55. package/build/dist/Types/AnalyticsDatabase/MaterializedView.js +2 -0
  56. package/build/dist/Types/AnalyticsDatabase/MaterializedView.js.map +1 -0
  57. package/build/dist/Types/AnalyticsDatabase/Projection.js +2 -0
  58. package/build/dist/Types/AnalyticsDatabase/Projection.js.map +1 -0
  59. package/build/dist/Types/Date.js +82 -0
  60. package/build/dist/Types/Date.js.map +1 -1
  61. package/build/dist/UI/Components/AutocompleteTextInput/AutocompleteTextInput.js +143 -0
  62. package/build/dist/UI/Components/AutocompleteTextInput/AutocompleteTextInput.js.map +1 -0
  63. package/build/dist/UI/Components/Dictionary/Dictionary.js +25 -36
  64. package/build/dist/UI/Components/Dictionary/Dictionary.js.map +1 -1
  65. package/build/dist/UI/Components/Filters/JSONFilter.js +2 -2
  66. package/build/dist/UI/Components/Filters/JSONFilter.js.map +1 -1
  67. package/build/dist/UI/Components/Forms/Fields/FieldLabel.js +2 -1
  68. package/build/dist/UI/Components/Forms/Fields/FieldLabel.js.map +1 -1
  69. package/build/dist/UI/Components/Forms/Fields/FormField.js +2 -2
  70. package/build/dist/UI/Components/Forms/Fields/FormField.js.map +1 -1
  71. package/build/dist/UI/Components/GanttChart/Bar/Index.js +10 -0
  72. package/build/dist/UI/Components/GanttChart/Bar/Index.js.map +1 -1
  73. package/build/dist/UI/Components/GanttChart/Index.js +6 -2
  74. package/build/dist/UI/Components/GanttChart/Index.js.map +1 -1
  75. package/build/dist/UI/Components/GanttChart/Row/Index.js.map +1 -1
  76. package/build/dist/UI/Components/GanttChart/Row/Row.js +62 -9
  77. package/build/dist/UI/Components/GanttChart/Row/Row.js.map +1 -1
  78. package/build/dist/UI/Components/GanttChart/Row/RowLabel.js +2 -2
  79. package/build/dist/UI/Components/GanttChart/Row/RowLabel.js.map +1 -1
  80. package/build/dist/UI/Components/GanttChart/Rows.js +5 -1
  81. package/build/dist/UI/Components/GanttChart/Rows.js.map +1 -1
  82. package/build/dist/UI/Components/LogsViewer/LogItem.js +73 -5
  83. package/build/dist/UI/Components/LogsViewer/LogItem.js.map +1 -1
  84. package/build/dist/UI/Components/LogsViewer/LogsViewer.js +7 -1
  85. package/build/dist/UI/Components/LogsViewer/LogsViewer.js.map +1 -1
  86. package/build/dist/UI/Components/ModelTable/BaseModelTable.js +2 -1
  87. package/build/dist/UI/Components/ModelTable/BaseModelTable.js.map +1 -1
  88. package/package.json +1 -1
@@ -41,6 +41,451 @@ export interface SpanLink {
41
41
 
42
42
  export default class Span extends AnalyticsBaseModel {
43
43
  public constructor() {
44
+ const projectIdColumn: AnalyticsTableColumn = new AnalyticsTableColumn({
45
+ key: "projectId",
46
+ title: "Project ID",
47
+ description: "ID of project",
48
+ required: true,
49
+ type: TableColumnType.ObjectID,
50
+ isTenantId: true,
51
+ accessControl: {
52
+ read: [
53
+ Permission.ProjectOwner,
54
+ Permission.ProjectAdmin,
55
+ Permission.ProjectMember,
56
+ Permission.ReadTelemetryServiceTraces,
57
+ ],
58
+ create: [
59
+ Permission.ProjectOwner,
60
+ Permission.ProjectAdmin,
61
+ Permission.ProjectMember,
62
+ Permission.CreateTelemetryServiceTraces,
63
+ ],
64
+ update: [],
65
+ },
66
+ });
67
+
68
+ const serviceIdColumn: AnalyticsTableColumn = new AnalyticsTableColumn({
69
+ key: "serviceId",
70
+ title: "Service ID",
71
+ description: "ID of the Service which created the log",
72
+ required: true,
73
+ type: TableColumnType.ObjectID,
74
+ accessControl: {
75
+ read: [
76
+ Permission.ProjectOwner,
77
+ Permission.ProjectAdmin,
78
+ Permission.ProjectMember,
79
+ Permission.ReadTelemetryServiceTraces,
80
+ ],
81
+ create: [
82
+ Permission.ProjectOwner,
83
+ Permission.ProjectAdmin,
84
+ Permission.ProjectMember,
85
+ Permission.CreateTelemetryServiceTraces,
86
+ ],
87
+ update: [],
88
+ },
89
+ });
90
+
91
+ const startTimeColumn: AnalyticsTableColumn = new AnalyticsTableColumn({
92
+ key: "startTime",
93
+ title: "Start Time",
94
+ description: "When did the span start?",
95
+ required: true,
96
+ type: TableColumnType.Date,
97
+ accessControl: {
98
+ read: [
99
+ Permission.ProjectOwner,
100
+ Permission.ProjectAdmin,
101
+ Permission.ProjectMember,
102
+ Permission.ReadTelemetryServiceTraces,
103
+ ],
104
+ create: [
105
+ Permission.ProjectOwner,
106
+ Permission.ProjectAdmin,
107
+ Permission.ProjectMember,
108
+ Permission.CreateTelemetryServiceTraces,
109
+ ],
110
+ update: [],
111
+ },
112
+ });
113
+
114
+ const endTimeColumn: AnalyticsTableColumn = new AnalyticsTableColumn({
115
+ key: "endTime",
116
+ title: "End Time",
117
+ description: "When did the span end?",
118
+ required: true,
119
+ type: TableColumnType.Date,
120
+ accessControl: {
121
+ read: [
122
+ Permission.ProjectOwner,
123
+ Permission.ProjectAdmin,
124
+ Permission.ProjectMember,
125
+ Permission.ReadTelemetryServiceTraces,
126
+ ],
127
+ create: [
128
+ Permission.ProjectOwner,
129
+ Permission.ProjectAdmin,
130
+ Permission.ProjectMember,
131
+ Permission.CreateTelemetryServiceTraces,
132
+ ],
133
+ update: [],
134
+ },
135
+ });
136
+
137
+ const startTimeUnixNanoColumn: AnalyticsTableColumn =
138
+ new AnalyticsTableColumn({
139
+ key: "startTimeUnixNano",
140
+ title: "Start Time in Unix Nano",
141
+ description: "When did the span start?",
142
+ required: true,
143
+ type: TableColumnType.LongNumber,
144
+ accessControl: {
145
+ read: [
146
+ Permission.ProjectOwner,
147
+ Permission.ProjectAdmin,
148
+ Permission.ProjectMember,
149
+ Permission.ReadTelemetryServiceTraces,
150
+ ],
151
+ create: [
152
+ Permission.ProjectOwner,
153
+ Permission.ProjectAdmin,
154
+ Permission.ProjectMember,
155
+ Permission.CreateTelemetryServiceTraces,
156
+ ],
157
+ update: [],
158
+ },
159
+ });
160
+
161
+ const durationUnixNanoColumn: AnalyticsTableColumn =
162
+ new AnalyticsTableColumn({
163
+ key: "durationUnixNano",
164
+ title: "Duration in Unix Nano",
165
+ description: "How long did the span last?",
166
+ required: true,
167
+ type: TableColumnType.LongNumber,
168
+ accessControl: {
169
+ read: [
170
+ Permission.ProjectOwner,
171
+ Permission.ProjectAdmin,
172
+ Permission.ProjectMember,
173
+ Permission.ReadTelemetryServiceTraces,
174
+ ],
175
+ create: [
176
+ Permission.ProjectOwner,
177
+ Permission.ProjectAdmin,
178
+ Permission.ProjectMember,
179
+ Permission.CreateTelemetryServiceTraces,
180
+ ],
181
+ update: [],
182
+ },
183
+ });
184
+
185
+ const endTimeUnixNanoColumn: AnalyticsTableColumn =
186
+ new AnalyticsTableColumn({
187
+ key: "endTimeUnixNano",
188
+ title: "End Time",
189
+ description: "When did the span end?",
190
+ required: true,
191
+ type: TableColumnType.LongNumber,
192
+ accessControl: {
193
+ read: [
194
+ Permission.ProjectOwner,
195
+ Permission.ProjectAdmin,
196
+ Permission.ProjectMember,
197
+ Permission.ReadTelemetryServiceTraces,
198
+ ],
199
+ create: [
200
+ Permission.ProjectOwner,
201
+ Permission.ProjectAdmin,
202
+ Permission.ProjectMember,
203
+ Permission.CreateTelemetryServiceTraces,
204
+ ],
205
+ update: [],
206
+ },
207
+ });
208
+
209
+ const traceIdColumn: AnalyticsTableColumn = new AnalyticsTableColumn({
210
+ key: "traceId",
211
+ title: "Trace ID",
212
+ description: "ID of the trace",
213
+ required: true,
214
+ type: TableColumnType.Text,
215
+ accessControl: {
216
+ read: [
217
+ Permission.ProjectOwner,
218
+ Permission.ProjectAdmin,
219
+ Permission.ProjectMember,
220
+ Permission.ReadTelemetryServiceTraces,
221
+ ],
222
+ create: [
223
+ Permission.ProjectOwner,
224
+ Permission.ProjectAdmin,
225
+ Permission.ProjectMember,
226
+ Permission.CreateTelemetryServiceTraces,
227
+ ],
228
+ update: [],
229
+ },
230
+ });
231
+
232
+ const spanIdColumn: AnalyticsTableColumn = new AnalyticsTableColumn({
233
+ key: "spanId",
234
+ title: "Span ID",
235
+ description: "ID of the span",
236
+ required: true,
237
+ type: TableColumnType.Text,
238
+ accessControl: {
239
+ read: [
240
+ Permission.ProjectOwner,
241
+ Permission.ProjectAdmin,
242
+ Permission.ProjectMember,
243
+ Permission.ReadTelemetryServiceTraces,
244
+ ],
245
+ create: [
246
+ Permission.ProjectOwner,
247
+ Permission.ProjectAdmin,
248
+ Permission.ProjectMember,
249
+ Permission.CreateTelemetryServiceTraces,
250
+ ],
251
+ update: [],
252
+ },
253
+ });
254
+
255
+ const parentSpanIdColumn: AnalyticsTableColumn = new AnalyticsTableColumn({
256
+ key: "parentSpanId",
257
+ title: "Parent Span ID",
258
+ description: "ID of the parent span",
259
+ required: false,
260
+ type: TableColumnType.Text,
261
+ accessControl: {
262
+ read: [
263
+ Permission.ProjectOwner,
264
+ Permission.ProjectAdmin,
265
+ Permission.ProjectMember,
266
+ Permission.ReadTelemetryServiceTraces,
267
+ ],
268
+ create: [
269
+ Permission.ProjectOwner,
270
+ Permission.ProjectAdmin,
271
+ Permission.ProjectMember,
272
+ Permission.CreateTelemetryServiceTraces,
273
+ ],
274
+ update: [],
275
+ },
276
+ });
277
+
278
+ const traceStateColumn: AnalyticsTableColumn = new AnalyticsTableColumn({
279
+ key: "traceState",
280
+ title: "Trace State",
281
+ description: "Trace State",
282
+ required: false,
283
+ type: TableColumnType.Text,
284
+ accessControl: {
285
+ read: [
286
+ Permission.ProjectOwner,
287
+ Permission.ProjectAdmin,
288
+ Permission.ProjectMember,
289
+ Permission.ReadTelemetryServiceTraces,
290
+ ],
291
+ create: [
292
+ Permission.ProjectOwner,
293
+ Permission.ProjectAdmin,
294
+ Permission.ProjectMember,
295
+ Permission.CreateTelemetryServiceTraces,
296
+ ],
297
+ update: [],
298
+ },
299
+ });
300
+
301
+ const attributesColumn: AnalyticsTableColumn = new AnalyticsTableColumn({
302
+ key: "attributes",
303
+ title: "Attributes",
304
+ description: "Attributes",
305
+ required: true,
306
+ defaultValue: {},
307
+ type: TableColumnType.JSON,
308
+ accessControl: {
309
+ read: [
310
+ Permission.ProjectOwner,
311
+ Permission.ProjectAdmin,
312
+ Permission.ProjectMember,
313
+ Permission.ReadTelemetryServiceTraces,
314
+ ],
315
+ create: [
316
+ Permission.ProjectOwner,
317
+ Permission.ProjectAdmin,
318
+ Permission.ProjectMember,
319
+ Permission.CreateTelemetryServiceTraces,
320
+ ],
321
+ update: [],
322
+ },
323
+ });
324
+
325
+ const attributeKeysColumn: AnalyticsTableColumn = new AnalyticsTableColumn({
326
+ key: "attributeKeys",
327
+ title: "Attribute Keys",
328
+ description: "Attribute keys extracted from attributes",
329
+ required: true,
330
+ defaultValue: [],
331
+ type: TableColumnType.ArrayText,
332
+ accessControl: {
333
+ read: [
334
+ Permission.ProjectOwner,
335
+ Permission.ProjectAdmin,
336
+ Permission.ProjectMember,
337
+ Permission.ReadTelemetryServiceTraces,
338
+ ],
339
+ create: [
340
+ Permission.ProjectOwner,
341
+ Permission.ProjectAdmin,
342
+ Permission.ProjectMember,
343
+ Permission.CreateTelemetryServiceTraces,
344
+ ],
345
+ update: [],
346
+ },
347
+ });
348
+
349
+ const eventsColumn: AnalyticsTableColumn = new AnalyticsTableColumn({
350
+ key: "events",
351
+ title: "Events",
352
+ description: "Span Events",
353
+ required: true,
354
+ defaultValue: [],
355
+ type: TableColumnType.JSONArray,
356
+ accessControl: {
357
+ read: [
358
+ Permission.ProjectOwner,
359
+ Permission.ProjectAdmin,
360
+ Permission.ProjectMember,
361
+ Permission.ReadTelemetryServiceTraces,
362
+ ],
363
+ create: [
364
+ Permission.ProjectOwner,
365
+ Permission.ProjectAdmin,
366
+ Permission.ProjectMember,
367
+ Permission.CreateTelemetryServiceTraces,
368
+ ],
369
+ update: [],
370
+ },
371
+ });
372
+
373
+ const linksColumn: AnalyticsTableColumn = new AnalyticsTableColumn({
374
+ key: "links",
375
+ title: "Links",
376
+ description: "Span Links",
377
+ required: true,
378
+ defaultValue: {},
379
+ type: TableColumnType.JSON,
380
+ accessControl: {
381
+ read: [
382
+ Permission.ProjectOwner,
383
+ Permission.ProjectAdmin,
384
+ Permission.ProjectMember,
385
+ Permission.ReadTelemetryServiceTraces,
386
+ ],
387
+ create: [
388
+ Permission.ProjectOwner,
389
+ Permission.ProjectAdmin,
390
+ Permission.ProjectMember,
391
+ Permission.CreateTelemetryServiceTraces,
392
+ ],
393
+ update: [],
394
+ },
395
+ });
396
+
397
+ const statusCodeColumn: AnalyticsTableColumn = new AnalyticsTableColumn({
398
+ key: "statusCode",
399
+ title: "Status Code",
400
+ description: "Status Code",
401
+ required: false,
402
+ type: TableColumnType.Number,
403
+ accessControl: {
404
+ read: [
405
+ Permission.ProjectOwner,
406
+ Permission.ProjectAdmin,
407
+ Permission.ProjectMember,
408
+ Permission.ReadTelemetryServiceTraces,
409
+ ],
410
+ create: [
411
+ Permission.ProjectOwner,
412
+ Permission.ProjectAdmin,
413
+ Permission.ProjectMember,
414
+ Permission.CreateTelemetryServiceTraces,
415
+ ],
416
+ update: [],
417
+ },
418
+ });
419
+
420
+ const statusMessageColumn: AnalyticsTableColumn = new AnalyticsTableColumn({
421
+ key: "statusMessage",
422
+ title: "Status Message",
423
+ description: "Status Message",
424
+ required: false,
425
+ type: TableColumnType.Text,
426
+ accessControl: {
427
+ read: [
428
+ Permission.ProjectOwner,
429
+ Permission.ProjectAdmin,
430
+ Permission.ProjectMember,
431
+ Permission.ReadTelemetryServiceTraces,
432
+ ],
433
+ create: [
434
+ Permission.ProjectOwner,
435
+ Permission.ProjectAdmin,
436
+ Permission.ProjectMember,
437
+ Permission.CreateTelemetryServiceTraces,
438
+ ],
439
+ update: [],
440
+ },
441
+ });
442
+
443
+ const nameColumn: AnalyticsTableColumn = new AnalyticsTableColumn({
444
+ key: "name",
445
+ title: "Name",
446
+ description: "Name of the span",
447
+ required: false,
448
+ type: TableColumnType.Text,
449
+ accessControl: {
450
+ read: [
451
+ Permission.ProjectOwner,
452
+ Permission.ProjectAdmin,
453
+ Permission.ProjectMember,
454
+ Permission.ReadTelemetryServiceTraces,
455
+ ],
456
+ create: [
457
+ Permission.ProjectOwner,
458
+ Permission.ProjectAdmin,
459
+ Permission.ProjectMember,
460
+ Permission.CreateTelemetryServiceTraces,
461
+ ],
462
+ update: [],
463
+ },
464
+ });
465
+
466
+ const kindColumn: AnalyticsTableColumn = new AnalyticsTableColumn({
467
+ key: "kind",
468
+ title: "Kind",
469
+ description: "Kind of the span",
470
+ required: false,
471
+ type: TableColumnType.Text,
472
+ accessControl: {
473
+ read: [
474
+ Permission.ProjectOwner,
475
+ Permission.ProjectAdmin,
476
+ Permission.ProjectMember,
477
+ Permission.ReadTelemetryServiceTraces,
478
+ ],
479
+ create: [
480
+ Permission.ProjectOwner,
481
+ Permission.ProjectAdmin,
482
+ Permission.ProjectMember,
483
+ Permission.CreateTelemetryServiceTraces,
484
+ ],
485
+ update: [],
486
+ },
487
+ });
488
+
44
489
  super({
45
490
  tableName: "SpanItem",
46
491
  tableEngine: AnalyticsTableEngine.MergeTree,
@@ -74,424 +519,27 @@ export default class Span extends AnalyticsBaseModel {
74
519
  ],
75
520
  },
76
521
  tableColumns: [
77
- new AnalyticsTableColumn({
78
- key: "projectId",
79
- title: "Project ID",
80
- description: "ID of project",
81
- required: true,
82
- type: TableColumnType.ObjectID,
83
- isTenantId: true,
84
- accessControl: {
85
- read: [
86
- Permission.ProjectOwner,
87
- Permission.ProjectAdmin,
88
- Permission.ProjectMember,
89
- Permission.ReadTelemetryServiceTraces,
90
- ],
91
- create: [
92
- Permission.ProjectOwner,
93
- Permission.ProjectAdmin,
94
- Permission.ProjectMember,
95
- Permission.CreateTelemetryServiceTraces,
96
- ],
97
- update: [],
98
- },
99
- }),
100
-
101
- new AnalyticsTableColumn({
102
- key: "serviceId",
103
- title: "Service ID",
104
- description: "ID of the Service which created the log",
105
- required: true,
106
- type: TableColumnType.ObjectID,
107
- accessControl: {
108
- read: [
109
- Permission.ProjectOwner,
110
- Permission.ProjectAdmin,
111
- Permission.ProjectMember,
112
- Permission.ReadTelemetryServiceTraces,
113
- ],
114
- create: [
115
- Permission.ProjectOwner,
116
- Permission.ProjectAdmin,
117
- Permission.ProjectMember,
118
- Permission.CreateTelemetryServiceTraces,
119
- ],
120
- update: [],
121
- },
122
- }),
123
-
124
- new AnalyticsTableColumn({
125
- key: "startTime",
126
- title: "Start Time",
127
- description: "When did the span start?",
128
- required: true,
129
- type: TableColumnType.Date,
130
- accessControl: {
131
- read: [
132
- Permission.ProjectOwner,
133
- Permission.ProjectAdmin,
134
- Permission.ProjectMember,
135
- Permission.ReadTelemetryServiceTraces,
136
- ],
137
- create: [
138
- Permission.ProjectOwner,
139
- Permission.ProjectAdmin,
140
- Permission.ProjectMember,
141
- Permission.CreateTelemetryServiceTraces,
142
- ],
143
- update: [],
144
- },
145
- }),
146
-
147
- new AnalyticsTableColumn({
148
- key: "endTime",
149
- title: "End Time",
150
- description: "When did the span end?",
151
- required: true,
152
- type: TableColumnType.Date,
153
- accessControl: {
154
- read: [
155
- Permission.ProjectOwner,
156
- Permission.ProjectAdmin,
157
- Permission.ProjectMember,
158
- Permission.ReadTelemetryServiceTraces,
159
- ],
160
- create: [
161
- Permission.ProjectOwner,
162
- Permission.ProjectAdmin,
163
- Permission.ProjectMember,
164
- Permission.CreateTelemetryServiceTraces,
165
- ],
166
- update: [],
167
- },
168
- }),
169
-
170
- new AnalyticsTableColumn({
171
- key: "startTimeUnixNano",
172
- title: "Start Time in Unix Nano",
173
- description: "When did the span start?",
174
- required: true,
175
- type: TableColumnType.LongNumber,
176
- accessControl: {
177
- read: [
178
- Permission.ProjectOwner,
179
- Permission.ProjectAdmin,
180
- Permission.ProjectMember,
181
- Permission.ReadTelemetryServiceTraces,
182
- ],
183
- create: [
184
- Permission.ProjectOwner,
185
- Permission.ProjectAdmin,
186
- Permission.ProjectMember,
187
- Permission.CreateTelemetryServiceTraces,
188
- ],
189
- update: [],
190
- },
191
- }),
192
-
193
- new AnalyticsTableColumn({
194
- key: "durationUnixNano",
195
- title: "Duration in Unix Nano",
196
- description: "How long did the span last?",
197
- required: true,
198
- type: TableColumnType.LongNumber,
199
- accessControl: {
200
- read: [
201
- Permission.ProjectOwner,
202
- Permission.ProjectAdmin,
203
- Permission.ProjectMember,
204
- Permission.ReadTelemetryServiceTraces,
205
- ],
206
- create: [
207
- Permission.ProjectOwner,
208
- Permission.ProjectAdmin,
209
- Permission.ProjectMember,
210
- Permission.CreateTelemetryServiceTraces,
211
- ],
212
- update: [],
213
- },
214
- }),
215
-
216
- new AnalyticsTableColumn({
217
- key: "endTimeUnixNano",
218
- title: "End Time",
219
- description: "When did the span end?",
220
- required: true,
221
- type: TableColumnType.LongNumber,
222
- accessControl: {
223
- read: [
224
- Permission.ProjectOwner,
225
- Permission.ProjectAdmin,
226
- Permission.ProjectMember,
227
- Permission.ReadTelemetryServiceTraces,
228
- ],
229
- create: [
230
- Permission.ProjectOwner,
231
- Permission.ProjectAdmin,
232
- Permission.ProjectMember,
233
- Permission.CreateTelemetryServiceTraces,
234
- ],
235
- update: [],
236
- },
237
- }),
238
-
239
- new AnalyticsTableColumn({
240
- key: "traceId",
241
- title: "Trace ID",
242
- description: "ID of the trace",
243
- required: true,
244
- type: TableColumnType.Text,
245
- accessControl: {
246
- read: [
247
- Permission.ProjectOwner,
248
- Permission.ProjectAdmin,
249
- Permission.ProjectMember,
250
- Permission.ReadTelemetryServiceTraces,
251
- ],
252
- create: [
253
- Permission.ProjectOwner,
254
- Permission.ProjectAdmin,
255
- Permission.ProjectMember,
256
- Permission.CreateTelemetryServiceTraces,
257
- ],
258
- update: [],
259
- },
260
- }),
261
-
262
- new AnalyticsTableColumn({
263
- key: "spanId",
264
- title: "Span ID",
265
- description: "ID of the span",
266
- required: true,
267
- type: TableColumnType.Text,
268
- accessControl: {
269
- read: [
270
- Permission.ProjectOwner,
271
- Permission.ProjectAdmin,
272
- Permission.ProjectMember,
273
- Permission.ReadTelemetryServiceTraces,
274
- ],
275
- create: [
276
- Permission.ProjectOwner,
277
- Permission.ProjectAdmin,
278
- Permission.ProjectMember,
279
- Permission.CreateTelemetryServiceTraces,
280
- ],
281
- update: [],
282
- },
283
- }),
284
-
285
- new AnalyticsTableColumn({
286
- key: "parentSpanId",
287
- title: "Parent Span ID",
288
- description: "ID of the parent span",
289
- required: false,
290
- type: TableColumnType.Text,
291
- accessControl: {
292
- read: [
293
- Permission.ProjectOwner,
294
- Permission.ProjectAdmin,
295
- Permission.ProjectMember,
296
- Permission.ReadTelemetryServiceTraces,
297
- ],
298
- create: [
299
- Permission.ProjectOwner,
300
- Permission.ProjectAdmin,
301
- Permission.ProjectMember,
302
- Permission.CreateTelemetryServiceTraces,
303
- ],
304
- update: [],
305
- },
306
- }),
307
-
308
- new AnalyticsTableColumn({
309
- key: "traceState",
310
- title: "Trace State",
311
- description: "Trace State",
312
- required: false,
313
- type: TableColumnType.Text,
314
- accessControl: {
315
- read: [
316
- Permission.ProjectOwner,
317
- Permission.ProjectAdmin,
318
- Permission.ProjectMember,
319
- Permission.ReadTelemetryServiceTraces,
320
- ],
321
- create: [
322
- Permission.ProjectOwner,
323
- Permission.ProjectAdmin,
324
- Permission.ProjectMember,
325
- Permission.CreateTelemetryServiceTraces,
326
- ],
327
- update: [],
328
- },
329
- }),
330
-
331
- new AnalyticsTableColumn({
332
- key: "attributes",
333
- title: "Attributes",
334
- description: "Attributes",
335
- required: true,
336
- defaultValue: {},
337
- type: TableColumnType.JSON,
338
- accessControl: {
339
- read: [
340
- Permission.ProjectOwner,
341
- Permission.ProjectAdmin,
342
- Permission.ProjectMember,
343
- Permission.ReadTelemetryServiceTraces,
344
- ],
345
- create: [
346
- Permission.ProjectOwner,
347
- Permission.ProjectAdmin,
348
- Permission.ProjectMember,
349
- Permission.CreateTelemetryServiceTraces,
350
- ],
351
- update: [],
352
- },
353
- }),
354
-
355
- new AnalyticsTableColumn({
356
- key: "events",
357
- title: "Events",
358
- description: "Span Events",
359
- required: true,
360
- defaultValue: [],
361
- type: TableColumnType.JSONArray,
362
- accessControl: {
363
- read: [
364
- Permission.ProjectOwner,
365
- Permission.ProjectAdmin,
366
- Permission.ProjectMember,
367
- Permission.ReadTelemetryServiceTraces,
368
- ],
369
- create: [
370
- Permission.ProjectOwner,
371
- Permission.ProjectAdmin,
372
- Permission.ProjectMember,
373
- Permission.CreateTelemetryServiceTraces,
374
- ],
375
- update: [],
376
- },
377
- }),
378
-
379
- new AnalyticsTableColumn({
380
- key: "links",
381
- title: "Links",
382
- description: "Span Links",
383
- required: true,
384
- defaultValue: {},
385
- type: TableColumnType.JSON,
386
- accessControl: {
387
- read: [
388
- Permission.ProjectOwner,
389
- Permission.ProjectAdmin,
390
- Permission.ProjectMember,
391
- Permission.ReadTelemetryServiceTraces,
392
- ],
393
- create: [
394
- Permission.ProjectOwner,
395
- Permission.ProjectAdmin,
396
- Permission.ProjectMember,
397
- Permission.CreateTelemetryServiceTraces,
398
- ],
399
- update: [],
400
- },
401
- }),
402
-
403
- new AnalyticsTableColumn({
404
- key: "statusCode",
405
- title: "Status Code",
406
- description: "Status Code",
407
- required: false,
408
- type: TableColumnType.Number,
409
- accessControl: {
410
- read: [
411
- Permission.ProjectOwner,
412
- Permission.ProjectAdmin,
413
- Permission.ProjectMember,
414
- Permission.ReadTelemetryServiceTraces,
415
- ],
416
- create: [
417
- Permission.ProjectOwner,
418
- Permission.ProjectAdmin,
419
- Permission.ProjectMember,
420
- Permission.CreateTelemetryServiceTraces,
421
- ],
422
- update: [],
423
- },
424
- }),
425
-
426
- new AnalyticsTableColumn({
427
- key: "statusMessage",
428
- title: "Status Message",
429
- description: "Status Message",
430
- required: false,
431
- type: TableColumnType.Text,
432
- accessControl: {
433
- read: [
434
- Permission.ProjectOwner,
435
- Permission.ProjectAdmin,
436
- Permission.ProjectMember,
437
- Permission.ReadTelemetryServiceTraces,
438
- ],
439
- create: [
440
- Permission.ProjectOwner,
441
- Permission.ProjectAdmin,
442
- Permission.ProjectMember,
443
- Permission.CreateTelemetryServiceTraces,
444
- ],
445
- update: [],
446
- },
447
- }),
448
-
449
- new AnalyticsTableColumn({
450
- key: "name",
451
- title: "Name",
452
- description: "Name of the span",
453
- required: false,
454
- type: TableColumnType.Text,
455
- accessControl: {
456
- read: [
457
- Permission.ProjectOwner,
458
- Permission.ProjectAdmin,
459
- Permission.ProjectMember,
460
- Permission.ReadTelemetryServiceTraces,
461
- ],
462
- create: [
463
- Permission.ProjectOwner,
464
- Permission.ProjectAdmin,
465
- Permission.ProjectMember,
466
- Permission.CreateTelemetryServiceTraces,
467
- ],
468
- update: [],
469
- },
470
- }),
471
-
472
- new AnalyticsTableColumn({
473
- key: "kind",
474
- title: "Kind",
475
- description: "Kind of the span",
476
- required: false,
477
- type: TableColumnType.Text,
478
- accessControl: {
479
- read: [
480
- Permission.ProjectOwner,
481
- Permission.ProjectAdmin,
482
- Permission.ProjectMember,
483
- Permission.ReadTelemetryServiceTraces,
484
- ],
485
- create: [
486
- Permission.ProjectOwner,
487
- Permission.ProjectAdmin,
488
- Permission.ProjectMember,
489
- Permission.CreateTelemetryServiceTraces,
490
- ],
491
- update: [],
492
- },
493
- }),
522
+ projectIdColumn,
523
+ serviceIdColumn,
524
+ startTimeColumn,
525
+ endTimeColumn,
526
+ startTimeUnixNanoColumn,
527
+ durationUnixNanoColumn,
528
+ endTimeUnixNanoColumn,
529
+ traceIdColumn,
530
+ spanIdColumn,
531
+ parentSpanIdColumn,
532
+ traceStateColumn,
533
+ attributesColumn,
534
+ attributeKeysColumn,
535
+ eventsColumn,
536
+ linksColumn,
537
+ statusCodeColumn,
538
+ statusMessageColumn,
539
+ nameColumn,
540
+ kindColumn,
494
541
  ],
542
+ projections: [],
495
543
  sortKeys: ["projectId", "startTime", "serviceId", "traceId"],
496
544
  primaryKeys: ["projectId", "startTime", "serviceId", "traceId"],
497
545
  partitionKey: "sipHash64(projectId) % 16",
@@ -610,6 +658,14 @@ export default class Span extends AnalyticsBaseModel {
610
658
  this.setColumnValue("attributes", v);
611
659
  }
612
660
 
661
+ public get attributeKeys(): Array<string> | undefined {
662
+ return this.getColumnValue("attributeKeys") as Array<string> | undefined;
663
+ }
664
+
665
+ public set attributeKeys(v: Array<string> | undefined) {
666
+ this.setColumnValue("attributeKeys", v);
667
+ }
668
+
613
669
  public get events(): Array<SpanEvent> | undefined {
614
670
  return this.getColumnValue("events") as Array<SpanEvent> | undefined;
615
671
  }