@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
@@ -9,6 +9,332 @@ import { SpanStatus } from "./Span";
9
9
 
10
10
  export default class ExceptionInstance extends AnalyticsBaseModel {
11
11
  public constructor() {
12
+ const projectIdColumn: AnalyticsTableColumn = new AnalyticsTableColumn({
13
+ key: "projectId",
14
+ title: "Project ID",
15
+ description: "ID of project",
16
+ required: true,
17
+ type: TableColumnType.ObjectID,
18
+ isTenantId: true,
19
+ accessControl: {
20
+ read: [
21
+ Permission.ProjectOwner,
22
+ Permission.ProjectAdmin,
23
+ Permission.ProjectMember,
24
+ Permission.ReadTelemetryException,
25
+ ],
26
+ create: [
27
+ Permission.ProjectOwner,
28
+ Permission.ProjectAdmin,
29
+ Permission.ProjectMember,
30
+ Permission.CreateTelemetryException,
31
+ ],
32
+ update: [],
33
+ },
34
+ });
35
+
36
+ const serviceIdColumn: AnalyticsTableColumn = new AnalyticsTableColumn({
37
+ key: "serviceId",
38
+ title: "Service ID",
39
+ description: "ID of the Service which created the log",
40
+ required: true,
41
+ type: TableColumnType.ObjectID,
42
+ accessControl: {
43
+ read: [
44
+ Permission.ProjectOwner,
45
+ Permission.ProjectAdmin,
46
+ Permission.ProjectMember,
47
+ Permission.ReadTelemetryException,
48
+ ],
49
+ create: [
50
+ Permission.ProjectOwner,
51
+ Permission.ProjectAdmin,
52
+ Permission.ProjectMember,
53
+ Permission.CreateTelemetryException,
54
+ ],
55
+ update: [],
56
+ },
57
+ });
58
+
59
+ const timeColumn: AnalyticsTableColumn = new AnalyticsTableColumn({
60
+ key: "time",
61
+ title: "Time",
62
+ description: "When was the log created?",
63
+ required: true,
64
+ type: TableColumnType.Date,
65
+ accessControl: {
66
+ read: [
67
+ Permission.ProjectOwner,
68
+ Permission.ProjectAdmin,
69
+ Permission.ProjectMember,
70
+ Permission.ReadTelemetryException,
71
+ ],
72
+ create: [
73
+ Permission.ProjectOwner,
74
+ Permission.ProjectAdmin,
75
+ Permission.ProjectMember,
76
+ Permission.CreateTelemetryException,
77
+ ],
78
+ update: [],
79
+ },
80
+ });
81
+
82
+ const timeUnixNanoColumn: AnalyticsTableColumn = new AnalyticsTableColumn({
83
+ key: "timeUnixNano",
84
+ title: "Time (in Unix Nano)",
85
+ description: "When was the log created?",
86
+ required: true,
87
+ type: TableColumnType.LongNumber,
88
+ accessControl: {
89
+ read: [
90
+ Permission.ProjectOwner,
91
+ Permission.ProjectAdmin,
92
+ Permission.ProjectMember,
93
+ Permission.ReadTelemetryException,
94
+ ],
95
+ create: [
96
+ Permission.ProjectOwner,
97
+ Permission.ProjectAdmin,
98
+ Permission.ProjectMember,
99
+ Permission.CreateTelemetryException,
100
+ ],
101
+ update: [],
102
+ },
103
+ });
104
+
105
+ const exceptionTypeColumn: AnalyticsTableColumn = new AnalyticsTableColumn({
106
+ key: "exceptionType",
107
+ title: "Exception Type",
108
+ description: "Exception Type", // Examples: java.net.ConnectException; OSError; etc.
109
+ required: false,
110
+ type: TableColumnType.Text,
111
+ accessControl: {
112
+ read: [
113
+ Permission.ProjectOwner,
114
+ Permission.ProjectAdmin,
115
+ Permission.ProjectMember,
116
+ Permission.ReadTelemetryException,
117
+ ],
118
+ create: [
119
+ Permission.ProjectOwner,
120
+ Permission.ProjectAdmin,
121
+ Permission.ProjectMember,
122
+ Permission.CreateTelemetryException,
123
+ ],
124
+ update: [],
125
+ },
126
+ });
127
+
128
+ const stackTraceColumn: AnalyticsTableColumn = new AnalyticsTableColumn({
129
+ key: "stackTrace",
130
+ title: "Stack Trace",
131
+ description: "Exception Stack Trace", // Examples: Division by zero; Can't convert 'int' object to str implicitly
132
+ required: false,
133
+ type: TableColumnType.Text,
134
+ accessControl: {
135
+ read: [
136
+ Permission.ProjectOwner,
137
+ Permission.ProjectAdmin,
138
+ Permission.ProjectMember,
139
+ Permission.ReadTelemetryException,
140
+ ],
141
+ create: [
142
+ Permission.ProjectOwner,
143
+ Permission.ProjectAdmin,
144
+ Permission.ProjectMember,
145
+ Permission.CreateTelemetryException,
146
+ ],
147
+ update: [],
148
+ },
149
+ });
150
+
151
+ const messageColumn: AnalyticsTableColumn = new AnalyticsTableColumn({
152
+ key: "message",
153
+ title: "Exception Message",
154
+ description: "Exception Message", // Examples: Division by zero; Can't convert 'int' object to str implicitly
155
+ required: false,
156
+ type: TableColumnType.Text,
157
+ accessControl: {
158
+ read: [
159
+ Permission.ProjectOwner,
160
+ Permission.ProjectAdmin,
161
+ Permission.ProjectMember,
162
+ Permission.ReadTelemetryException,
163
+ ],
164
+ create: [
165
+ Permission.ProjectOwner,
166
+ Permission.ProjectAdmin,
167
+ Permission.ProjectMember,
168
+ Permission.CreateTelemetryException,
169
+ ],
170
+ update: [],
171
+ },
172
+ });
173
+
174
+ const spanStatusCodeColumn: AnalyticsTableColumn = new AnalyticsTableColumn(
175
+ {
176
+ key: "spanStatusCode",
177
+ title: "Span Status Code",
178
+ description: "Span Status Code",
179
+ required: false,
180
+ type: TableColumnType.Number,
181
+ accessControl: {
182
+ read: [
183
+ Permission.ProjectOwner,
184
+ Permission.ProjectAdmin,
185
+ Permission.ProjectMember,
186
+ Permission.ReadTelemetryException,
187
+ ],
188
+ create: [
189
+ Permission.ProjectOwner,
190
+ Permission.ProjectAdmin,
191
+ Permission.ProjectMember,
192
+ Permission.CreateTelemetryException,
193
+ ],
194
+ update: [],
195
+ },
196
+ },
197
+ );
198
+
199
+ const escapedColumn: AnalyticsTableColumn = new AnalyticsTableColumn({
200
+ key: "escaped",
201
+ title: "Exception Escaped",
202
+ description: "Exception Escaped", // SHOULD be set to true if the exception event is recorded at a point where it is known that the exception is escaping the scope of the span.
203
+ required: false,
204
+ type: TableColumnType.Boolean,
205
+ accessControl: {
206
+ read: [
207
+ Permission.ProjectOwner,
208
+ Permission.ProjectAdmin,
209
+ Permission.ProjectMember,
210
+ Permission.ReadTelemetryException,
211
+ ],
212
+ create: [
213
+ Permission.ProjectOwner,
214
+ Permission.ProjectAdmin,
215
+ Permission.ProjectMember,
216
+ Permission.CreateTelemetryException,
217
+ ],
218
+ update: [],
219
+ },
220
+ });
221
+
222
+ const traceIdColumn: AnalyticsTableColumn = new AnalyticsTableColumn({
223
+ key: "traceId",
224
+ title: "Trace ID",
225
+ description: "ID of the trace",
226
+ required: false,
227
+ type: TableColumnType.Text,
228
+ accessControl: {
229
+ read: [
230
+ Permission.ProjectOwner,
231
+ Permission.ProjectAdmin,
232
+ Permission.ProjectMember,
233
+ Permission.ReadTelemetryException,
234
+ ],
235
+ create: [
236
+ Permission.ProjectOwner,
237
+ Permission.ProjectAdmin,
238
+ Permission.ProjectMember,
239
+ Permission.CreateTelemetryException,
240
+ ],
241
+ update: [],
242
+ },
243
+ });
244
+
245
+ const spanIdColumn: AnalyticsTableColumn = new AnalyticsTableColumn({
246
+ key: "spanId",
247
+ title: "Span ID",
248
+ description: "ID of the span",
249
+ required: false,
250
+ type: TableColumnType.Text,
251
+ accessControl: {
252
+ read: [
253
+ Permission.ProjectOwner,
254
+ Permission.ProjectAdmin,
255
+ Permission.ProjectMember,
256
+ Permission.ReadTelemetryException,
257
+ ],
258
+ create: [
259
+ Permission.ProjectOwner,
260
+ Permission.ProjectAdmin,
261
+ Permission.ProjectMember,
262
+ Permission.CreateTelemetryException,
263
+ ],
264
+ update: [],
265
+ },
266
+ });
267
+
268
+ const fingerprintColumn: AnalyticsTableColumn = new AnalyticsTableColumn({
269
+ key: "fingerprint",
270
+ title: "Fingerprint",
271
+ description: "Fingerprint of the exception",
272
+ required: true,
273
+ type: TableColumnType.Text,
274
+ accessControl: {
275
+ read: [
276
+ Permission.ProjectOwner,
277
+ Permission.ProjectAdmin,
278
+ Permission.ProjectMember,
279
+ Permission.ReadTelemetryException,
280
+ ],
281
+ create: [
282
+ Permission.ProjectOwner,
283
+ Permission.ProjectAdmin,
284
+ Permission.ProjectMember,
285
+ Permission.CreateTelemetryException,
286
+ ],
287
+ update: [],
288
+ },
289
+ });
290
+
291
+ const spanNameColumn: AnalyticsTableColumn = new AnalyticsTableColumn({
292
+ key: "spanName",
293
+ title: "Span Name",
294
+ description: "Name of the span",
295
+ required: false,
296
+ type: TableColumnType.Text,
297
+ accessControl: {
298
+ read: [
299
+ Permission.ProjectOwner,
300
+ Permission.ProjectAdmin,
301
+ Permission.ProjectMember,
302
+ Permission.ReadTelemetryServiceTraces,
303
+ ],
304
+ create: [
305
+ Permission.ProjectOwner,
306
+ Permission.ProjectAdmin,
307
+ Permission.ProjectMember,
308
+ Permission.CreateTelemetryServiceTraces,
309
+ ],
310
+ update: [],
311
+ },
312
+ });
313
+
314
+ const attributesColumn: AnalyticsTableColumn = new AnalyticsTableColumn({
315
+ key: "attributes",
316
+ title: "Attributes",
317
+ description: "Attributes",
318
+ required: true,
319
+ defaultValue: {},
320
+ type: TableColumnType.JSON,
321
+ accessControl: {
322
+ read: [
323
+ Permission.ProjectOwner,
324
+ Permission.ProjectAdmin,
325
+ Permission.ProjectMember,
326
+ Permission.ReadTelemetryException,
327
+ ],
328
+ create: [
329
+ Permission.ProjectOwner,
330
+ Permission.ProjectAdmin,
331
+ Permission.ProjectMember,
332
+ Permission.CreateTelemetryException,
333
+ ],
334
+ update: [],
335
+ },
336
+ });
337
+
12
338
  super({
13
339
  tableName: "ExceptionItem",
14
340
  tableEngine: AnalyticsTableEngine.MergeTree,
@@ -45,330 +371,22 @@ export default class ExceptionInstance extends AnalyticsBaseModel {
45
371
  },
46
372
  crudApiPath: new Route("/exceptions"),
47
373
  tableColumns: [
48
- new AnalyticsTableColumn({
49
- key: "projectId",
50
- title: "Project ID",
51
- description: "ID of project",
52
- required: true,
53
- type: TableColumnType.ObjectID,
54
- isTenantId: true,
55
- accessControl: {
56
- read: [
57
- Permission.ProjectOwner,
58
- Permission.ProjectAdmin,
59
- Permission.ProjectMember,
60
- Permission.ReadTelemetryException,
61
- ],
62
- create: [
63
- Permission.ProjectOwner,
64
- Permission.ProjectAdmin,
65
- Permission.ProjectMember,
66
- Permission.CreateTelemetryException,
67
- ],
68
- update: [],
69
- },
70
- }),
71
-
72
- new AnalyticsTableColumn({
73
- key: "serviceId",
74
- title: "Service ID",
75
- description: "ID of the Service which created the log",
76
- required: true,
77
- type: TableColumnType.ObjectID,
78
- accessControl: {
79
- read: [
80
- Permission.ProjectOwner,
81
- Permission.ProjectAdmin,
82
- Permission.ProjectMember,
83
- Permission.ReadTelemetryException,
84
- ],
85
- create: [
86
- Permission.ProjectOwner,
87
- Permission.ProjectAdmin,
88
- Permission.ProjectMember,
89
- Permission.CreateTelemetryException,
90
- ],
91
- update: [],
92
- },
93
- }),
94
-
95
- new AnalyticsTableColumn({
96
- key: "time",
97
- title: "Time",
98
- description: "When was the log created?",
99
- required: true,
100
- type: TableColumnType.Date,
101
- accessControl: {
102
- read: [
103
- Permission.ProjectOwner,
104
- Permission.ProjectAdmin,
105
- Permission.ProjectMember,
106
- Permission.ReadTelemetryException,
107
- ],
108
- create: [
109
- Permission.ProjectOwner,
110
- Permission.ProjectAdmin,
111
- Permission.ProjectMember,
112
- Permission.CreateTelemetryException,
113
- ],
114
- update: [],
115
- },
116
- }),
117
-
118
- new AnalyticsTableColumn({
119
- key: "timeUnixNano",
120
- title: "Time (in Unix Nano)",
121
- description: "When was the log created?",
122
- required: true,
123
- type: TableColumnType.LongNumber,
124
- accessControl: {
125
- read: [
126
- Permission.ProjectOwner,
127
- Permission.ProjectAdmin,
128
- Permission.ProjectMember,
129
- Permission.ReadTelemetryException,
130
- ],
131
- create: [
132
- Permission.ProjectOwner,
133
- Permission.ProjectAdmin,
134
- Permission.ProjectMember,
135
- Permission.CreateTelemetryException,
136
- ],
137
- update: [],
138
- },
139
- }),
140
-
141
- new AnalyticsTableColumn({
142
- key: "exceptionType",
143
- title: "Exception Type",
144
- description: "Exception Type", // Examples: java.net.ConnectException; OSError; etc.
145
- required: false,
146
- type: TableColumnType.Text,
147
- accessControl: {
148
- read: [
149
- Permission.ProjectOwner,
150
- Permission.ProjectAdmin,
151
- Permission.ProjectMember,
152
- Permission.ReadTelemetryException,
153
- ],
154
- create: [
155
- Permission.ProjectOwner,
156
- Permission.ProjectAdmin,
157
- Permission.ProjectMember,
158
- Permission.CreateTelemetryException,
159
- ],
160
- update: [],
161
- },
162
- }),
163
-
164
- new AnalyticsTableColumn({
165
- key: "stackTrace",
166
- title: "Stack Trace",
167
- description: "Exception Stack Trace", // Examples: Division by zero; Can't convert 'int' object to str implicitly
168
- required: false,
169
- type: TableColumnType.Text,
170
- accessControl: {
171
- read: [
172
- Permission.ProjectOwner,
173
- Permission.ProjectAdmin,
174
- Permission.ProjectMember,
175
- Permission.ReadTelemetryException,
176
- ],
177
- create: [
178
- Permission.ProjectOwner,
179
- Permission.ProjectAdmin,
180
- Permission.ProjectMember,
181
- Permission.CreateTelemetryException,
182
- ],
183
- update: [],
184
- },
185
- }),
186
-
187
- new AnalyticsTableColumn({
188
- key: "message",
189
- title: "Exception Message",
190
- description: "Exception Message", // Examples: Division by zero; Can't convert 'int' object to str implicitly
191
- required: false,
192
- type: TableColumnType.Text,
193
- accessControl: {
194
- read: [
195
- Permission.ProjectOwner,
196
- Permission.ProjectAdmin,
197
- Permission.ProjectMember,
198
- Permission.ReadTelemetryException,
199
- ],
200
- create: [
201
- Permission.ProjectOwner,
202
- Permission.ProjectAdmin,
203
- Permission.ProjectMember,
204
- Permission.CreateTelemetryException,
205
- ],
206
- update: [],
207
- },
208
- }),
209
-
210
- new AnalyticsTableColumn({
211
- key: "spanStatusCode",
212
- title: "Span Status Code",
213
- description: "Span Status Code",
214
- required: false,
215
- type: TableColumnType.Number,
216
- accessControl: {
217
- read: [
218
- Permission.ProjectOwner,
219
- Permission.ProjectAdmin,
220
- Permission.ProjectMember,
221
- Permission.ReadTelemetryException,
222
- ],
223
- create: [
224
- Permission.ProjectOwner,
225
- Permission.ProjectAdmin,
226
- Permission.ProjectMember,
227
- Permission.CreateTelemetryException,
228
- ],
229
- update: [],
230
- },
231
- }),
232
-
233
- new AnalyticsTableColumn({
234
- key: "escaped",
235
- title: "Exception Escaped",
236
- description: "Exception Escaped", // SHOULD be set to true if the exception event is recorded at a point where it is known that the exception is escaping the scope of the span.
237
- required: false,
238
- type: TableColumnType.Boolean,
239
- accessControl: {
240
- read: [
241
- Permission.ProjectOwner,
242
- Permission.ProjectAdmin,
243
- Permission.ProjectMember,
244
- Permission.ReadTelemetryException,
245
- ],
246
- create: [
247
- Permission.ProjectOwner,
248
- Permission.ProjectAdmin,
249
- Permission.ProjectMember,
250
- Permission.CreateTelemetryException,
251
- ],
252
- update: [],
253
- },
254
- }),
255
-
256
- new AnalyticsTableColumn({
257
- key: "traceId",
258
- title: "Trace ID",
259
- description: "ID of the trace",
260
- required: false,
261
- type: TableColumnType.Text,
262
- accessControl: {
263
- read: [
264
- Permission.ProjectOwner,
265
- Permission.ProjectAdmin,
266
- Permission.ProjectMember,
267
- Permission.ReadTelemetryException,
268
- ],
269
- create: [
270
- Permission.ProjectOwner,
271
- Permission.ProjectAdmin,
272
- Permission.ProjectMember,
273
- Permission.CreateTelemetryException,
274
- ],
275
- update: [],
276
- },
277
- }),
278
-
279
- new AnalyticsTableColumn({
280
- key: "spanId",
281
- title: "Span ID",
282
- description: "ID of the span",
283
- required: false,
284
- type: TableColumnType.Text,
285
- accessControl: {
286
- read: [
287
- Permission.ProjectOwner,
288
- Permission.ProjectAdmin,
289
- Permission.ProjectMember,
290
- Permission.ReadTelemetryException,
291
- ],
292
- create: [
293
- Permission.ProjectOwner,
294
- Permission.ProjectAdmin,
295
- Permission.ProjectMember,
296
- Permission.CreateTelemetryException,
297
- ],
298
- update: [],
299
- },
300
- }),
301
-
302
- new AnalyticsTableColumn({
303
- key: "fingerprint",
304
- title: "Fingerprint",
305
- description: "Fingerprint of the exception",
306
- required: true,
307
- type: TableColumnType.Text,
308
- accessControl: {
309
- read: [
310
- Permission.ProjectOwner,
311
- Permission.ProjectAdmin,
312
- Permission.ProjectMember,
313
- Permission.ReadTelemetryException,
314
- ],
315
- create: [
316
- Permission.ProjectOwner,
317
- Permission.ProjectAdmin,
318
- Permission.ProjectMember,
319
- Permission.CreateTelemetryException,
320
- ],
321
- update: [],
322
- },
323
- }),
324
-
325
- new AnalyticsTableColumn({
326
- key: "spanName",
327
- title: "Span Name",
328
- description: "Name of the span",
329
- required: false,
330
- type: TableColumnType.Text,
331
- accessControl: {
332
- read: [
333
- Permission.ProjectOwner,
334
- Permission.ProjectAdmin,
335
- Permission.ProjectMember,
336
- Permission.ReadTelemetryServiceTraces,
337
- ],
338
- create: [
339
- Permission.ProjectOwner,
340
- Permission.ProjectAdmin,
341
- Permission.ProjectMember,
342
- Permission.CreateTelemetryServiceTraces,
343
- ],
344
- update: [],
345
- },
346
- }),
347
-
348
- new AnalyticsTableColumn({
349
- key: "attributes",
350
- title: "Attributes",
351
- description: "Attributes",
352
- required: true,
353
- defaultValue: {},
354
- type: TableColumnType.JSON,
355
- accessControl: {
356
- read: [
357
- Permission.ProjectOwner,
358
- Permission.ProjectAdmin,
359
- Permission.ProjectMember,
360
- Permission.ReadTelemetryException,
361
- ],
362
- create: [
363
- Permission.ProjectOwner,
364
- Permission.ProjectAdmin,
365
- Permission.ProjectMember,
366
- Permission.CreateTelemetryException,
367
- ],
368
- update: [],
369
- },
370
- }),
374
+ projectIdColumn,
375
+ serviceIdColumn,
376
+ timeColumn,
377
+ timeUnixNanoColumn,
378
+ exceptionTypeColumn,
379
+ stackTraceColumn,
380
+ messageColumn,
381
+ spanStatusCodeColumn,
382
+ escapedColumn,
383
+ traceIdColumn,
384
+ spanIdColumn,
385
+ fingerprintColumn,
386
+ spanNameColumn,
387
+ attributesColumn,
371
388
  ],
389
+ projections: [],
372
390
  sortKeys: ["projectId", "time", "serviceId", "fingerprint"],
373
391
  primaryKeys: ["projectId", "time", "serviceId", "fingerprint"],
374
392
  partitionKey: "sipHash64(projectId) % 16",