@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
@@ -25,6 +25,429 @@ export var SpanStatus;
25
25
  })(SpanStatus || (SpanStatus = {}));
26
26
  export default class Span extends AnalyticsBaseModel {
27
27
  constructor() {
28
+ const projectIdColumn = new AnalyticsTableColumn({
29
+ key: "projectId",
30
+ title: "Project ID",
31
+ description: "ID of project",
32
+ required: true,
33
+ type: TableColumnType.ObjectID,
34
+ isTenantId: true,
35
+ accessControl: {
36
+ read: [
37
+ Permission.ProjectOwner,
38
+ Permission.ProjectAdmin,
39
+ Permission.ProjectMember,
40
+ Permission.ReadTelemetryServiceTraces,
41
+ ],
42
+ create: [
43
+ Permission.ProjectOwner,
44
+ Permission.ProjectAdmin,
45
+ Permission.ProjectMember,
46
+ Permission.CreateTelemetryServiceTraces,
47
+ ],
48
+ update: [],
49
+ },
50
+ });
51
+ const serviceIdColumn = new AnalyticsTableColumn({
52
+ key: "serviceId",
53
+ title: "Service ID",
54
+ description: "ID of the Service which created the log",
55
+ required: true,
56
+ type: TableColumnType.ObjectID,
57
+ accessControl: {
58
+ read: [
59
+ Permission.ProjectOwner,
60
+ Permission.ProjectAdmin,
61
+ Permission.ProjectMember,
62
+ Permission.ReadTelemetryServiceTraces,
63
+ ],
64
+ create: [
65
+ Permission.ProjectOwner,
66
+ Permission.ProjectAdmin,
67
+ Permission.ProjectMember,
68
+ Permission.CreateTelemetryServiceTraces,
69
+ ],
70
+ update: [],
71
+ },
72
+ });
73
+ const startTimeColumn = new AnalyticsTableColumn({
74
+ key: "startTime",
75
+ title: "Start Time",
76
+ description: "When did the span start?",
77
+ required: true,
78
+ type: TableColumnType.Date,
79
+ accessControl: {
80
+ read: [
81
+ Permission.ProjectOwner,
82
+ Permission.ProjectAdmin,
83
+ Permission.ProjectMember,
84
+ Permission.ReadTelemetryServiceTraces,
85
+ ],
86
+ create: [
87
+ Permission.ProjectOwner,
88
+ Permission.ProjectAdmin,
89
+ Permission.ProjectMember,
90
+ Permission.CreateTelemetryServiceTraces,
91
+ ],
92
+ update: [],
93
+ },
94
+ });
95
+ const endTimeColumn = new AnalyticsTableColumn({
96
+ key: "endTime",
97
+ title: "End Time",
98
+ description: "When did the span end?",
99
+ required: true,
100
+ type: TableColumnType.Date,
101
+ accessControl: {
102
+ read: [
103
+ Permission.ProjectOwner,
104
+ Permission.ProjectAdmin,
105
+ Permission.ProjectMember,
106
+ Permission.ReadTelemetryServiceTraces,
107
+ ],
108
+ create: [
109
+ Permission.ProjectOwner,
110
+ Permission.ProjectAdmin,
111
+ Permission.ProjectMember,
112
+ Permission.CreateTelemetryServiceTraces,
113
+ ],
114
+ update: [],
115
+ },
116
+ });
117
+ const startTimeUnixNanoColumn = new AnalyticsTableColumn({
118
+ key: "startTimeUnixNano",
119
+ title: "Start Time in Unix Nano",
120
+ description: "When did the span start?",
121
+ required: true,
122
+ type: TableColumnType.LongNumber,
123
+ accessControl: {
124
+ read: [
125
+ Permission.ProjectOwner,
126
+ Permission.ProjectAdmin,
127
+ Permission.ProjectMember,
128
+ Permission.ReadTelemetryServiceTraces,
129
+ ],
130
+ create: [
131
+ Permission.ProjectOwner,
132
+ Permission.ProjectAdmin,
133
+ Permission.ProjectMember,
134
+ Permission.CreateTelemetryServiceTraces,
135
+ ],
136
+ update: [],
137
+ },
138
+ });
139
+ const durationUnixNanoColumn = new AnalyticsTableColumn({
140
+ key: "durationUnixNano",
141
+ title: "Duration in Unix Nano",
142
+ description: "How long did the span last?",
143
+ required: true,
144
+ type: TableColumnType.LongNumber,
145
+ accessControl: {
146
+ read: [
147
+ Permission.ProjectOwner,
148
+ Permission.ProjectAdmin,
149
+ Permission.ProjectMember,
150
+ Permission.ReadTelemetryServiceTraces,
151
+ ],
152
+ create: [
153
+ Permission.ProjectOwner,
154
+ Permission.ProjectAdmin,
155
+ Permission.ProjectMember,
156
+ Permission.CreateTelemetryServiceTraces,
157
+ ],
158
+ update: [],
159
+ },
160
+ });
161
+ const endTimeUnixNanoColumn = new AnalyticsTableColumn({
162
+ key: "endTimeUnixNano",
163
+ title: "End Time",
164
+ description: "When did the span end?",
165
+ required: true,
166
+ type: TableColumnType.LongNumber,
167
+ accessControl: {
168
+ read: [
169
+ Permission.ProjectOwner,
170
+ Permission.ProjectAdmin,
171
+ Permission.ProjectMember,
172
+ Permission.ReadTelemetryServiceTraces,
173
+ ],
174
+ create: [
175
+ Permission.ProjectOwner,
176
+ Permission.ProjectAdmin,
177
+ Permission.ProjectMember,
178
+ Permission.CreateTelemetryServiceTraces,
179
+ ],
180
+ update: [],
181
+ },
182
+ });
183
+ const traceIdColumn = new AnalyticsTableColumn({
184
+ key: "traceId",
185
+ title: "Trace ID",
186
+ description: "ID of the trace",
187
+ required: true,
188
+ type: TableColumnType.Text,
189
+ accessControl: {
190
+ read: [
191
+ Permission.ProjectOwner,
192
+ Permission.ProjectAdmin,
193
+ Permission.ProjectMember,
194
+ Permission.ReadTelemetryServiceTraces,
195
+ ],
196
+ create: [
197
+ Permission.ProjectOwner,
198
+ Permission.ProjectAdmin,
199
+ Permission.ProjectMember,
200
+ Permission.CreateTelemetryServiceTraces,
201
+ ],
202
+ update: [],
203
+ },
204
+ });
205
+ const spanIdColumn = new AnalyticsTableColumn({
206
+ key: "spanId",
207
+ title: "Span ID",
208
+ description: "ID of the span",
209
+ required: true,
210
+ type: TableColumnType.Text,
211
+ accessControl: {
212
+ read: [
213
+ Permission.ProjectOwner,
214
+ Permission.ProjectAdmin,
215
+ Permission.ProjectMember,
216
+ Permission.ReadTelemetryServiceTraces,
217
+ ],
218
+ create: [
219
+ Permission.ProjectOwner,
220
+ Permission.ProjectAdmin,
221
+ Permission.ProjectMember,
222
+ Permission.CreateTelemetryServiceTraces,
223
+ ],
224
+ update: [],
225
+ },
226
+ });
227
+ const parentSpanIdColumn = new AnalyticsTableColumn({
228
+ key: "parentSpanId",
229
+ title: "Parent Span ID",
230
+ description: "ID of the parent span",
231
+ required: false,
232
+ type: TableColumnType.Text,
233
+ accessControl: {
234
+ read: [
235
+ Permission.ProjectOwner,
236
+ Permission.ProjectAdmin,
237
+ Permission.ProjectMember,
238
+ Permission.ReadTelemetryServiceTraces,
239
+ ],
240
+ create: [
241
+ Permission.ProjectOwner,
242
+ Permission.ProjectAdmin,
243
+ Permission.ProjectMember,
244
+ Permission.CreateTelemetryServiceTraces,
245
+ ],
246
+ update: [],
247
+ },
248
+ });
249
+ const traceStateColumn = new AnalyticsTableColumn({
250
+ key: "traceState",
251
+ title: "Trace State",
252
+ description: "Trace State",
253
+ required: false,
254
+ type: TableColumnType.Text,
255
+ accessControl: {
256
+ read: [
257
+ Permission.ProjectOwner,
258
+ Permission.ProjectAdmin,
259
+ Permission.ProjectMember,
260
+ Permission.ReadTelemetryServiceTraces,
261
+ ],
262
+ create: [
263
+ Permission.ProjectOwner,
264
+ Permission.ProjectAdmin,
265
+ Permission.ProjectMember,
266
+ Permission.CreateTelemetryServiceTraces,
267
+ ],
268
+ update: [],
269
+ },
270
+ });
271
+ const attributesColumn = new AnalyticsTableColumn({
272
+ key: "attributes",
273
+ title: "Attributes",
274
+ description: "Attributes",
275
+ required: true,
276
+ defaultValue: {},
277
+ type: TableColumnType.JSON,
278
+ accessControl: {
279
+ read: [
280
+ Permission.ProjectOwner,
281
+ Permission.ProjectAdmin,
282
+ Permission.ProjectMember,
283
+ Permission.ReadTelemetryServiceTraces,
284
+ ],
285
+ create: [
286
+ Permission.ProjectOwner,
287
+ Permission.ProjectAdmin,
288
+ Permission.ProjectMember,
289
+ Permission.CreateTelemetryServiceTraces,
290
+ ],
291
+ update: [],
292
+ },
293
+ });
294
+ const attributeKeysColumn = new AnalyticsTableColumn({
295
+ key: "attributeKeys",
296
+ title: "Attribute Keys",
297
+ description: "Attribute keys extracted from attributes",
298
+ required: true,
299
+ defaultValue: [],
300
+ type: TableColumnType.ArrayText,
301
+ accessControl: {
302
+ read: [
303
+ Permission.ProjectOwner,
304
+ Permission.ProjectAdmin,
305
+ Permission.ProjectMember,
306
+ Permission.ReadTelemetryServiceTraces,
307
+ ],
308
+ create: [
309
+ Permission.ProjectOwner,
310
+ Permission.ProjectAdmin,
311
+ Permission.ProjectMember,
312
+ Permission.CreateTelemetryServiceTraces,
313
+ ],
314
+ update: [],
315
+ },
316
+ });
317
+ const eventsColumn = new AnalyticsTableColumn({
318
+ key: "events",
319
+ title: "Events",
320
+ description: "Span Events",
321
+ required: true,
322
+ defaultValue: [],
323
+ type: TableColumnType.JSONArray,
324
+ accessControl: {
325
+ read: [
326
+ Permission.ProjectOwner,
327
+ Permission.ProjectAdmin,
328
+ Permission.ProjectMember,
329
+ Permission.ReadTelemetryServiceTraces,
330
+ ],
331
+ create: [
332
+ Permission.ProjectOwner,
333
+ Permission.ProjectAdmin,
334
+ Permission.ProjectMember,
335
+ Permission.CreateTelemetryServiceTraces,
336
+ ],
337
+ update: [],
338
+ },
339
+ });
340
+ const linksColumn = new AnalyticsTableColumn({
341
+ key: "links",
342
+ title: "Links",
343
+ description: "Span Links",
344
+ required: true,
345
+ defaultValue: {},
346
+ type: TableColumnType.JSON,
347
+ accessControl: {
348
+ read: [
349
+ Permission.ProjectOwner,
350
+ Permission.ProjectAdmin,
351
+ Permission.ProjectMember,
352
+ Permission.ReadTelemetryServiceTraces,
353
+ ],
354
+ create: [
355
+ Permission.ProjectOwner,
356
+ Permission.ProjectAdmin,
357
+ Permission.ProjectMember,
358
+ Permission.CreateTelemetryServiceTraces,
359
+ ],
360
+ update: [],
361
+ },
362
+ });
363
+ const statusCodeColumn = new AnalyticsTableColumn({
364
+ key: "statusCode",
365
+ title: "Status Code",
366
+ description: "Status Code",
367
+ required: false,
368
+ type: TableColumnType.Number,
369
+ accessControl: {
370
+ read: [
371
+ Permission.ProjectOwner,
372
+ Permission.ProjectAdmin,
373
+ Permission.ProjectMember,
374
+ Permission.ReadTelemetryServiceTraces,
375
+ ],
376
+ create: [
377
+ Permission.ProjectOwner,
378
+ Permission.ProjectAdmin,
379
+ Permission.ProjectMember,
380
+ Permission.CreateTelemetryServiceTraces,
381
+ ],
382
+ update: [],
383
+ },
384
+ });
385
+ const statusMessageColumn = new AnalyticsTableColumn({
386
+ key: "statusMessage",
387
+ title: "Status Message",
388
+ description: "Status Message",
389
+ required: false,
390
+ type: TableColumnType.Text,
391
+ accessControl: {
392
+ read: [
393
+ Permission.ProjectOwner,
394
+ Permission.ProjectAdmin,
395
+ Permission.ProjectMember,
396
+ Permission.ReadTelemetryServiceTraces,
397
+ ],
398
+ create: [
399
+ Permission.ProjectOwner,
400
+ Permission.ProjectAdmin,
401
+ Permission.ProjectMember,
402
+ Permission.CreateTelemetryServiceTraces,
403
+ ],
404
+ update: [],
405
+ },
406
+ });
407
+ const nameColumn = new AnalyticsTableColumn({
408
+ key: "name",
409
+ title: "Name",
410
+ description: "Name of the span",
411
+ required: false,
412
+ type: TableColumnType.Text,
413
+ accessControl: {
414
+ read: [
415
+ Permission.ProjectOwner,
416
+ Permission.ProjectAdmin,
417
+ Permission.ProjectMember,
418
+ Permission.ReadTelemetryServiceTraces,
419
+ ],
420
+ create: [
421
+ Permission.ProjectOwner,
422
+ Permission.ProjectAdmin,
423
+ Permission.ProjectMember,
424
+ Permission.CreateTelemetryServiceTraces,
425
+ ],
426
+ update: [],
427
+ },
428
+ });
429
+ const kindColumn = new AnalyticsTableColumn({
430
+ key: "kind",
431
+ title: "Kind",
432
+ description: "Kind of the span",
433
+ required: false,
434
+ type: TableColumnType.Text,
435
+ accessControl: {
436
+ read: [
437
+ Permission.ProjectOwner,
438
+ Permission.ProjectAdmin,
439
+ Permission.ProjectMember,
440
+ Permission.ReadTelemetryServiceTraces,
441
+ ],
442
+ create: [
443
+ Permission.ProjectOwner,
444
+ Permission.ProjectAdmin,
445
+ Permission.ProjectMember,
446
+ Permission.CreateTelemetryServiceTraces,
447
+ ],
448
+ update: [],
449
+ },
450
+ });
28
451
  super({
29
452
  tableName: "SpanItem",
30
453
  tableEngine: AnalyticsTableEngine.MergeTree,
@@ -58,407 +481,27 @@ export default class Span extends AnalyticsBaseModel {
58
481
  ],
59
482
  },
60
483
  tableColumns: [
61
- new AnalyticsTableColumn({
62
- key: "projectId",
63
- title: "Project ID",
64
- description: "ID of project",
65
- required: true,
66
- type: TableColumnType.ObjectID,
67
- isTenantId: true,
68
- accessControl: {
69
- read: [
70
- Permission.ProjectOwner,
71
- Permission.ProjectAdmin,
72
- Permission.ProjectMember,
73
- Permission.ReadTelemetryServiceTraces,
74
- ],
75
- create: [
76
- Permission.ProjectOwner,
77
- Permission.ProjectAdmin,
78
- Permission.ProjectMember,
79
- Permission.CreateTelemetryServiceTraces,
80
- ],
81
- update: [],
82
- },
83
- }),
84
- new AnalyticsTableColumn({
85
- key: "serviceId",
86
- title: "Service ID",
87
- description: "ID of the Service which created the log",
88
- required: true,
89
- type: TableColumnType.ObjectID,
90
- accessControl: {
91
- read: [
92
- Permission.ProjectOwner,
93
- Permission.ProjectAdmin,
94
- Permission.ProjectMember,
95
- Permission.ReadTelemetryServiceTraces,
96
- ],
97
- create: [
98
- Permission.ProjectOwner,
99
- Permission.ProjectAdmin,
100
- Permission.ProjectMember,
101
- Permission.CreateTelemetryServiceTraces,
102
- ],
103
- update: [],
104
- },
105
- }),
106
- new AnalyticsTableColumn({
107
- key: "startTime",
108
- title: "Start Time",
109
- description: "When did the span start?",
110
- required: true,
111
- type: TableColumnType.Date,
112
- accessControl: {
113
- read: [
114
- Permission.ProjectOwner,
115
- Permission.ProjectAdmin,
116
- Permission.ProjectMember,
117
- Permission.ReadTelemetryServiceTraces,
118
- ],
119
- create: [
120
- Permission.ProjectOwner,
121
- Permission.ProjectAdmin,
122
- Permission.ProjectMember,
123
- Permission.CreateTelemetryServiceTraces,
124
- ],
125
- update: [],
126
- },
127
- }),
128
- new AnalyticsTableColumn({
129
- key: "endTime",
130
- title: "End Time",
131
- description: "When did the span end?",
132
- required: true,
133
- type: TableColumnType.Date,
134
- accessControl: {
135
- read: [
136
- Permission.ProjectOwner,
137
- Permission.ProjectAdmin,
138
- Permission.ProjectMember,
139
- Permission.ReadTelemetryServiceTraces,
140
- ],
141
- create: [
142
- Permission.ProjectOwner,
143
- Permission.ProjectAdmin,
144
- Permission.ProjectMember,
145
- Permission.CreateTelemetryServiceTraces,
146
- ],
147
- update: [],
148
- },
149
- }),
150
- new AnalyticsTableColumn({
151
- key: "startTimeUnixNano",
152
- title: "Start Time in Unix Nano",
153
- description: "When did the span start?",
154
- required: true,
155
- type: TableColumnType.LongNumber,
156
- accessControl: {
157
- read: [
158
- Permission.ProjectOwner,
159
- Permission.ProjectAdmin,
160
- Permission.ProjectMember,
161
- Permission.ReadTelemetryServiceTraces,
162
- ],
163
- create: [
164
- Permission.ProjectOwner,
165
- Permission.ProjectAdmin,
166
- Permission.ProjectMember,
167
- Permission.CreateTelemetryServiceTraces,
168
- ],
169
- update: [],
170
- },
171
- }),
172
- new AnalyticsTableColumn({
173
- key: "durationUnixNano",
174
- title: "Duration in Unix Nano",
175
- description: "How long did the span last?",
176
- required: true,
177
- type: TableColumnType.LongNumber,
178
- accessControl: {
179
- read: [
180
- Permission.ProjectOwner,
181
- Permission.ProjectAdmin,
182
- Permission.ProjectMember,
183
- Permission.ReadTelemetryServiceTraces,
184
- ],
185
- create: [
186
- Permission.ProjectOwner,
187
- Permission.ProjectAdmin,
188
- Permission.ProjectMember,
189
- Permission.CreateTelemetryServiceTraces,
190
- ],
191
- update: [],
192
- },
193
- }),
194
- new AnalyticsTableColumn({
195
- key: "endTimeUnixNano",
196
- title: "End Time",
197
- description: "When did the span end?",
198
- required: true,
199
- type: TableColumnType.LongNumber,
200
- accessControl: {
201
- read: [
202
- Permission.ProjectOwner,
203
- Permission.ProjectAdmin,
204
- Permission.ProjectMember,
205
- Permission.ReadTelemetryServiceTraces,
206
- ],
207
- create: [
208
- Permission.ProjectOwner,
209
- Permission.ProjectAdmin,
210
- Permission.ProjectMember,
211
- Permission.CreateTelemetryServiceTraces,
212
- ],
213
- update: [],
214
- },
215
- }),
216
- new AnalyticsTableColumn({
217
- key: "traceId",
218
- title: "Trace ID",
219
- description: "ID of the trace",
220
- required: true,
221
- type: TableColumnType.Text,
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
- new AnalyticsTableColumn({
239
- key: "spanId",
240
- title: "Span ID",
241
- description: "ID of the span",
242
- required: true,
243
- type: TableColumnType.Text,
244
- accessControl: {
245
- read: [
246
- Permission.ProjectOwner,
247
- Permission.ProjectAdmin,
248
- Permission.ProjectMember,
249
- Permission.ReadTelemetryServiceTraces,
250
- ],
251
- create: [
252
- Permission.ProjectOwner,
253
- Permission.ProjectAdmin,
254
- Permission.ProjectMember,
255
- Permission.CreateTelemetryServiceTraces,
256
- ],
257
- update: [],
258
- },
259
- }),
260
- new AnalyticsTableColumn({
261
- key: "parentSpanId",
262
- title: "Parent Span ID",
263
- description: "ID of the parent span",
264
- required: false,
265
- type: TableColumnType.Text,
266
- accessControl: {
267
- read: [
268
- Permission.ProjectOwner,
269
- Permission.ProjectAdmin,
270
- Permission.ProjectMember,
271
- Permission.ReadTelemetryServiceTraces,
272
- ],
273
- create: [
274
- Permission.ProjectOwner,
275
- Permission.ProjectAdmin,
276
- Permission.ProjectMember,
277
- Permission.CreateTelemetryServiceTraces,
278
- ],
279
- update: [],
280
- },
281
- }),
282
- new AnalyticsTableColumn({
283
- key: "traceState",
284
- title: "Trace State",
285
- description: "Trace State",
286
- required: false,
287
- type: TableColumnType.Text,
288
- accessControl: {
289
- read: [
290
- Permission.ProjectOwner,
291
- Permission.ProjectAdmin,
292
- Permission.ProjectMember,
293
- Permission.ReadTelemetryServiceTraces,
294
- ],
295
- create: [
296
- Permission.ProjectOwner,
297
- Permission.ProjectAdmin,
298
- Permission.ProjectMember,
299
- Permission.CreateTelemetryServiceTraces,
300
- ],
301
- update: [],
302
- },
303
- }),
304
- new AnalyticsTableColumn({
305
- key: "attributes",
306
- title: "Attributes",
307
- description: "Attributes",
308
- required: true,
309
- defaultValue: {},
310
- type: TableColumnType.JSON,
311
- accessControl: {
312
- read: [
313
- Permission.ProjectOwner,
314
- Permission.ProjectAdmin,
315
- Permission.ProjectMember,
316
- Permission.ReadTelemetryServiceTraces,
317
- ],
318
- create: [
319
- Permission.ProjectOwner,
320
- Permission.ProjectAdmin,
321
- Permission.ProjectMember,
322
- Permission.CreateTelemetryServiceTraces,
323
- ],
324
- update: [],
325
- },
326
- }),
327
- new AnalyticsTableColumn({
328
- key: "events",
329
- title: "Events",
330
- description: "Span Events",
331
- required: true,
332
- defaultValue: [],
333
- type: TableColumnType.JSONArray,
334
- accessControl: {
335
- read: [
336
- Permission.ProjectOwner,
337
- Permission.ProjectAdmin,
338
- Permission.ProjectMember,
339
- Permission.ReadTelemetryServiceTraces,
340
- ],
341
- create: [
342
- Permission.ProjectOwner,
343
- Permission.ProjectAdmin,
344
- Permission.ProjectMember,
345
- Permission.CreateTelemetryServiceTraces,
346
- ],
347
- update: [],
348
- },
349
- }),
350
- new AnalyticsTableColumn({
351
- key: "links",
352
- title: "Links",
353
- description: "Span Links",
354
- required: true,
355
- defaultValue: {},
356
- type: TableColumnType.JSON,
357
- accessControl: {
358
- read: [
359
- Permission.ProjectOwner,
360
- Permission.ProjectAdmin,
361
- Permission.ProjectMember,
362
- Permission.ReadTelemetryServiceTraces,
363
- ],
364
- create: [
365
- Permission.ProjectOwner,
366
- Permission.ProjectAdmin,
367
- Permission.ProjectMember,
368
- Permission.CreateTelemetryServiceTraces,
369
- ],
370
- update: [],
371
- },
372
- }),
373
- new AnalyticsTableColumn({
374
- key: "statusCode",
375
- title: "Status Code",
376
- description: "Status Code",
377
- required: false,
378
- type: TableColumnType.Number,
379
- accessControl: {
380
- read: [
381
- Permission.ProjectOwner,
382
- Permission.ProjectAdmin,
383
- Permission.ProjectMember,
384
- Permission.ReadTelemetryServiceTraces,
385
- ],
386
- create: [
387
- Permission.ProjectOwner,
388
- Permission.ProjectAdmin,
389
- Permission.ProjectMember,
390
- Permission.CreateTelemetryServiceTraces,
391
- ],
392
- update: [],
393
- },
394
- }),
395
- new AnalyticsTableColumn({
396
- key: "statusMessage",
397
- title: "Status Message",
398
- description: "Status Message",
399
- required: false,
400
- type: TableColumnType.Text,
401
- accessControl: {
402
- read: [
403
- Permission.ProjectOwner,
404
- Permission.ProjectAdmin,
405
- Permission.ProjectMember,
406
- Permission.ReadTelemetryServiceTraces,
407
- ],
408
- create: [
409
- Permission.ProjectOwner,
410
- Permission.ProjectAdmin,
411
- Permission.ProjectMember,
412
- Permission.CreateTelemetryServiceTraces,
413
- ],
414
- update: [],
415
- },
416
- }),
417
- new AnalyticsTableColumn({
418
- key: "name",
419
- title: "Name",
420
- description: "Name of the span",
421
- required: false,
422
- type: TableColumnType.Text,
423
- accessControl: {
424
- read: [
425
- Permission.ProjectOwner,
426
- Permission.ProjectAdmin,
427
- Permission.ProjectMember,
428
- Permission.ReadTelemetryServiceTraces,
429
- ],
430
- create: [
431
- Permission.ProjectOwner,
432
- Permission.ProjectAdmin,
433
- Permission.ProjectMember,
434
- Permission.CreateTelemetryServiceTraces,
435
- ],
436
- update: [],
437
- },
438
- }),
439
- new AnalyticsTableColumn({
440
- key: "kind",
441
- title: "Kind",
442
- description: "Kind of the span",
443
- required: false,
444
- type: TableColumnType.Text,
445
- accessControl: {
446
- read: [
447
- Permission.ProjectOwner,
448
- Permission.ProjectAdmin,
449
- Permission.ProjectMember,
450
- Permission.ReadTelemetryServiceTraces,
451
- ],
452
- create: [
453
- Permission.ProjectOwner,
454
- Permission.ProjectAdmin,
455
- Permission.ProjectMember,
456
- Permission.CreateTelemetryServiceTraces,
457
- ],
458
- update: [],
459
- },
460
- }),
484
+ projectIdColumn,
485
+ serviceIdColumn,
486
+ startTimeColumn,
487
+ endTimeColumn,
488
+ startTimeUnixNanoColumn,
489
+ durationUnixNanoColumn,
490
+ endTimeUnixNanoColumn,
491
+ traceIdColumn,
492
+ spanIdColumn,
493
+ parentSpanIdColumn,
494
+ traceStateColumn,
495
+ attributesColumn,
496
+ attributeKeysColumn,
497
+ eventsColumn,
498
+ linksColumn,
499
+ statusCodeColumn,
500
+ statusMessageColumn,
501
+ nameColumn,
502
+ kindColumn,
461
503
  ],
504
+ projections: [],
462
505
  sortKeys: ["projectId", "startTime", "serviceId", "traceId"],
463
506
  primaryKeys: ["projectId", "startTime", "serviceId", "traceId"],
464
507
  partitionKey: "sipHash64(projectId) % 16",
@@ -548,6 +591,12 @@ export default class Span extends AnalyticsBaseModel {
548
591
  set attributes(v) {
549
592
  this.setColumnValue("attributes", v);
550
593
  }
594
+ get attributeKeys() {
595
+ return this.getColumnValue("attributeKeys");
596
+ }
597
+ set attributeKeys(v) {
598
+ this.setColumnValue("attributeKeys", v);
599
+ }
551
600
  get events() {
552
601
  return this.getColumnValue("events");
553
602
  }