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