@oneuptime/common 7.0.3876 → 7.0.3887

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.
@@ -106,11 +106,11 @@ export default class TelemetryAttribute extends AnalyticsBaseModel {
106
106
  }),
107
107
 
108
108
  new AnalyticsTableColumn({
109
- key: "attribute",
110
- title: "Attribute",
111
- description: "Attribute",
109
+ key: "attributes",
110
+ title: "Attributes",
111
+ description: "Attributes",
112
112
  required: true,
113
- type: TableColumnType.Text,
113
+ type: TableColumnType.JSONArray,
114
114
  accessControl: {
115
115
  read: [
116
116
  Permission.ProjectOwner,
@@ -153,11 +153,11 @@ export default class TelemetryAttribute extends AnalyticsBaseModel {
153
153
  this.setColumnValue("telemetryType", v);
154
154
  }
155
155
 
156
- public get attribute(): string | undefined {
157
- return this.getColumnValue("attribute") as string | undefined;
156
+ public get attributes(): Array<string> | undefined {
157
+ return this.getColumnValue("attributes") as Array<string> | undefined;
158
158
  }
159
159
 
160
- public set attribute(v: string | undefined) {
161
- this.setColumnValue("attribute", v);
160
+ public set attributes(v: Array<string> | undefined) {
161
+ this.setColumnValue("attributes", v);
162
162
  }
163
163
  }
@@ -11,7 +11,6 @@ import CommonAPI from "./CommonAPI";
11
11
  import DatabaseCommonInteractionProps from "Common/Types/BaseDatabase/DatabaseCommonInteractionProps";
12
12
  import TelemetryType from "Common/Types/Telemetry/TelemetryType";
13
13
  import TelemetryAttributeService from "../Services/TelemetryAttributeService";
14
- import ArrayUtil from "Common/Utils/Array";
15
14
 
16
15
  const router: ExpressRouter = Express.getRouter();
17
16
 
@@ -72,12 +71,11 @@ const getAttributes: GetAttributesFunction = async (
72
71
  );
73
72
  }
74
73
 
75
- const attributes: string[] = ArrayUtil.removeDuplicates(
74
+ const attributes: string[] =
76
75
  await TelemetryAttributeService.fetchAttributes({
77
76
  projectId: databaseProps.tenantId,
78
77
  telemetryType,
79
- }),
80
- );
78
+ });
81
79
 
82
80
  return Response.sendJsonObjectResponse(req, res, {
83
81
  attributes: attributes,
@@ -1,6 +1,5 @@
1
1
  import OneUptimeDate from "Common/Types/Date";
2
2
  import { JSONArray, JSONObject } from "Common/Types/JSON";
3
- import JSONFunctions from "Common/Types/JSONFunctions";
4
3
  import ObjectID from "Common/Types/ObjectID";
5
4
  import Metric, {
6
5
  AggregationTemporality,
@@ -166,21 +165,17 @@ export default class OTelIngestService {
166
165
  }
167
166
 
168
167
  newDbMetric.attributes = {
169
- ...(newDbMetric.attributes || {}),
168
+ ...TelemetryUtil.getAttributesForServiceIdAndServiceName({
169
+ serviceId: data.telemetryServiceId,
170
+ serviceName: data.telemetryServiceName,
171
+ }),
170
172
  ...TelemetryUtil.getAttributes({
171
173
  items: datapoint["attributes"] as JSONArray,
172
- telemetryServiceId: data.telemetryServiceId,
173
- telemetryServiceName: data.telemetryServiceName,
174
+ prefixKeysWithString: "metricAttributes",
174
175
  }),
175
176
  };
176
177
  }
177
178
 
178
- if (newDbMetric.attributes) {
179
- newDbMetric.attributes = JSONFunctions.flattenObject(
180
- newDbMetric.attributes,
181
- );
182
- }
183
-
184
179
  // aggregationTemporality
185
180
 
186
181
  if (aggregationTemporality) {
@@ -2,7 +2,6 @@ import TelemetryType from "../../Types/Telemetry/TelemetryType";
2
2
  import ClickhouseDatabase from "../Infrastructure/ClickhouseDatabase";
3
3
  import AnalyticsDatabaseService from "./AnalyticsDatabaseService";
4
4
  import TelemetryAttribute from "Common/Models/AnalyticsModels/TelemetryAttribute";
5
- import { LIMIT_PER_PROJECT } from "../../Types/Database/LimitMax";
6
5
  import ObjectID from "../../Types/ObjectID";
7
6
  import CaptureSpan from "../Utils/Telemetry/CaptureSpan";
8
7
 
@@ -16,30 +15,24 @@ export class TelemetryAttributeService extends AnalyticsDatabaseService<Telemetr
16
15
  projectId: ObjectID;
17
16
  telemetryType: TelemetryType;
18
17
  }): Promise<string[]> {
19
- const attributes: TelemetryAttribute[] = await this.findBy({
18
+ const telemetryAttribute: TelemetryAttribute | null = await this.findOneBy({
20
19
  query: {
21
20
  projectId: data.projectId,
22
21
  telemetryType: data.telemetryType,
23
22
  },
24
23
  select: {
25
- attribute: true,
24
+ attributes: true,
26
25
  },
27
- limit: LIMIT_PER_PROJECT,
28
- skip: 0,
29
26
  props: {
30
27
  isRoot: true,
31
28
  },
32
29
  });
33
30
 
34
- const dbAttributes: string[] = attributes
35
- .map((attribute: TelemetryAttribute) => {
36
- return attribute.attribute;
37
- })
38
- .filter((attribute: string | undefined) => {
39
- return Boolean(attribute);
40
- }) as string[];
41
-
42
- return dbAttributes.sort();
31
+ return telemetryAttribute &&
32
+ telemetryAttribute.attributes &&
33
+ telemetryAttribute
34
+ ? telemetryAttribute.attributes
35
+ : [];
43
36
  }
44
37
 
45
38
  @CaptureSpan()
@@ -61,21 +54,14 @@ export class TelemetryAttributeService extends AnalyticsDatabaseService<Telemetr
61
54
  },
62
55
  });
63
56
 
64
- const telemetryAttributes: TelemetryAttribute[] = [];
65
-
66
- // insert new attributes
67
- for (const attribute of attributes) {
68
- const telemetryAttribute: TelemetryAttribute = new TelemetryAttribute();
69
-
70
- telemetryAttribute.projectId = projectId;
71
- telemetryAttribute.telemetryType = telemetryType;
72
- telemetryAttribute.attribute = attribute;
57
+ const telemetryAttribute: TelemetryAttribute = new TelemetryAttribute();
73
58
 
74
- telemetryAttributes.push(telemetryAttribute);
75
- }
59
+ telemetryAttribute.projectId = projectId;
60
+ telemetryAttribute.telemetryType = telemetryType;
61
+ telemetryAttribute.attributes = attributes;
76
62
 
77
- await this.createMany({
78
- items: telemetryAttributes,
63
+ await this.create({
64
+ data: telemetryAttribute,
79
65
  props: {
80
66
  isRoot: true,
81
67
  },
@@ -63,7 +63,13 @@ function CaptureSpan(data?: {
63
63
  return Telemetry.startActiveSpan({
64
64
  name: name,
65
65
  options: {
66
- attributes: spanAttributes,
66
+ attributes: {
67
+ ...spanAttributes,
68
+ hey: "there",
69
+ thisIsNumber: 123,
70
+ thisIsBoolean: true,
71
+ thisIsArray: [1, 2, 3],
72
+ },
67
73
  },
68
74
  fn: (span: Span) => {
69
75
  let result: any = null;
@@ -1,21 +1,26 @@
1
+ import { Dictionary } from "lodash";
1
2
  import { JSONArray, JSONObject, JSONValue } from "../../../Types/JSON";
2
- import JSONFunctions from "../../../Types/JSONFunctions";
3
3
  import ObjectID from "../../../Types/ObjectID";
4
4
  import TelemetryType from "../../../Types/Telemetry/TelemetryType";
5
- import ArrayUtil from "../../../Utils/Array";
6
5
  import GlobalCache from "../../Infrastructure/GlobalCache";
7
6
  import TelemetryAttributeService from "../../Services/TelemetryAttributeService";
8
7
  import CaptureSpan from "./CaptureSpan";
8
+ import logger from "../Logger";
9
+
10
+ export type AttributeType = string | number | boolean | null;
9
11
 
10
12
  export default class TelemetryUtil {
11
13
  @CaptureSpan()
12
14
  public static async indexAttributes(data: {
13
- attributes: string[];
15
+ attributes: Array<string>;
14
16
  projectId: ObjectID;
15
17
  telemetryType: TelemetryType;
16
18
  }): Promise<void> {
17
19
  // index attributes
18
20
 
21
+ logger.debug("Indexing attributes");
22
+ logger.debug("data: " + JSON.stringify(data, null, 2));
23
+
19
24
  const cacheKey: string =
20
25
  data.projectId.toString() + "_" + data.telemetryType;
21
26
 
@@ -28,7 +33,9 @@ export default class TelemetryUtil {
28
33
 
29
34
  // check if keys are missing in cache
30
35
 
31
- for (const key of data.attributes) {
36
+ const attributeKeys: string[] = data.attributes;
37
+
38
+ for (const key of attributeKeys) {
32
39
  if (!cacheKeys.includes(key)) {
33
40
  isKeysMissingInCache = true;
34
41
  break;
@@ -42,11 +49,9 @@ export default class TelemetryUtil {
42
49
  telemetryType: data.telemetryType,
43
50
  });
44
51
 
45
- const mergedKeys: Array<string> = ArrayUtil.removeDuplicates([
46
- ...dbKeys,
47
- ...data.attributes,
48
- ...cacheKeys,
49
- ]);
52
+ const mergedKeys: Array<string> = Array.from(
53
+ new Set([...dbKeys, ...attributeKeys, ...cacheKeys]),
54
+ );
50
55
 
51
56
  await GlobalCache.setStringArray(
52
57
  "telemetryAttributesKeys",
@@ -62,96 +67,133 @@ export default class TelemetryUtil {
62
67
  }
63
68
  }
64
69
 
70
+ public static getAttributesForServiceIdAndServiceName(data: {
71
+ serviceId: ObjectID;
72
+ serviceName: string;
73
+ }): Dictionary<AttributeType> {
74
+ // get attributes for service id and service name
75
+ return {
76
+ "oneuptime.service.id": data.serviceId.toString(),
77
+ "oneuptime.service.name": data.serviceName,
78
+ };
79
+ }
80
+
65
81
  @CaptureSpan()
66
82
  public static getAttributes(data: {
83
+ prefixKeysWithString: string;
67
84
  items: JSONArray;
68
- telemetryServiceId?: ObjectID;
69
- telemetryServiceName?: string;
70
- }): JSONObject {
85
+ }): Dictionary<AttributeType | Array<AttributeType>> {
71
86
  const { items } = data;
87
+ let { prefixKeysWithString } = data;
72
88
 
73
- const finalObj: JSONObject = {};
74
- // We need to convert this to date.
75
- const attributes: JSONArray = items;
89
+ if (prefixKeysWithString) {
90
+ prefixKeysWithString = prefixKeysWithString + ".";
91
+ }
76
92
 
77
- type GetValueFunction = (value: JSONValue) => JSONValue;
78
-
79
- const getValue: GetValueFunction = (value: JSONValue): JSONValue => {
80
- value = value as JSONObject;
81
-
82
- if (value["stringValue"]) {
83
- value = value["stringValue"] as string;
84
- } else if (value["intValue"]) {
85
- value = value["intValue"] as number;
86
- } else if (value["doubleValue"]) {
87
- value = value["doubleValue"] as number;
88
- } else if (value["boolValue"]) {
89
- value = value["boolValue"] as boolean;
90
- } else if (
91
- value["arrayValue"] &&
92
- (value["arrayValue"] as JSONObject)["values"]
93
- ) {
94
- value = (
95
- (value["arrayValue"] as JSONObject)["values"] as JSONArray
96
- ).map((v: JSONObject) => {
97
- return getValue(v);
98
- });
99
- } else if (
100
- value["mapValue"] &&
101
- (value["mapValue"] as JSONObject)["fields"]
102
- ) {
103
- value = getValue((value["mapValue"] as JSONObject)["fields"]);
104
- } else if (value["nullValue"]) {
105
- value = null;
106
- }
93
+ let finalObj: Dictionary<AttributeType | Array<AttributeType>> = {};
94
+ const attributes: JSONArray = items;
107
95
 
108
- return value;
109
- };
96
+ if (!attributes) {
97
+ return finalObj;
98
+ }
110
99
 
111
- if (attributes) {
112
- for (const attribute of attributes) {
113
- if (attribute["key"] && typeof attribute["key"] === "string") {
114
- const value: JSONValue = getValue(attribute["value"]);
115
- finalObj[attribute["key"]] = value;
100
+ for (const attribute of attributes) {
101
+ if (attribute["key"] && typeof attribute["key"] === "string") {
102
+ const keyWithPrefix: string = `${prefixKeysWithString}${attribute["key"]}`;
103
+
104
+ const value:
105
+ | AttributeType
106
+ | Dictionary<AttributeType>
107
+ | Array<AttributeType> = this.getAttributeValues(
108
+ keyWithPrefix,
109
+ attribute["value"],
110
+ );
111
+
112
+ if (Array.isArray(value)) {
113
+ finalObj = { ...finalObj, [keyWithPrefix]: value };
114
+ } else if (typeof value === "object" && value !== null) {
115
+ finalObj = { ...finalObj, ...(value as Dictionary<AttributeType>) };
116
+ } else {
117
+ finalObj[keyWithPrefix] = value;
116
118
  }
117
119
  }
118
120
  }
119
121
 
120
- // add oneuptime specific attributes
121
- if (!finalObj["oneuptime"]) {
122
- finalObj["oneuptime"] = {};
123
- }
124
-
125
- if (!(finalObj["oneuptime"] as JSONObject)["telemetry"]) {
126
- (finalObj["oneuptime"] as JSONObject)["telemetry"] = {};
127
- }
122
+ return finalObj;
123
+ }
128
124
 
129
- if (
130
- !((finalObj["oneuptime"] as JSONObject)["telemetry"] as JSONObject)[
131
- "service"
132
- ]
125
+ public static getAttributeValues(
126
+ prefixKeysWithString: string,
127
+ value: JSONValue,
128
+ ): AttributeType | Dictionary<AttributeType> | Array<AttributeType> {
129
+ let finalObj:
130
+ | Dictionary<AttributeType>
131
+ | AttributeType
132
+ | Array<AttributeType> = null;
133
+ value = value as JSONObject;
134
+
135
+ if (value["stringValue"]) {
136
+ finalObj = value["stringValue"] as string;
137
+ } else if (value["intValue"]) {
138
+ finalObj = value["intValue"] as number;
139
+ } else if (value["doubleValue"]) {
140
+ finalObj = value["doubleValue"] as number;
141
+ } else if (value["boolValue"]) {
142
+ finalObj = value["boolValue"] as boolean;
143
+ } else if (
144
+ value["arrayValue"] &&
145
+ (value["arrayValue"] as JSONObject)["values"]
133
146
  ) {
134
- ((finalObj["oneuptime"] as JSONObject)["telemetry"] as JSONObject)[
135
- "service"
136
- ] = {};
137
- }
138
-
139
- if (data.telemetryServiceId) {
140
- (
141
- ((finalObj["oneuptime"] as JSONObject)["telemetry"] as JSONObject)[
142
- "service"
143
- ] as JSONObject
144
- )["id"] = data.telemetryServiceId.toString();
147
+ const values: JSONArray = (value["arrayValue"] as JSONObject)[
148
+ "values"
149
+ ] as JSONArray;
150
+ finalObj = values.map((v: JSONObject) => {
151
+ return this.getAttributeValues(
152
+ prefixKeysWithString,
153
+ v,
154
+ ) as AttributeType;
155
+ }) as Array<AttributeType>;
156
+ } else if (
157
+ value["mapValue"] &&
158
+ (value["mapValue"] as JSONObject)["fields"]
159
+ ) {
160
+ const fields: JSONObject = (value["mapValue"] as JSONObject)?.[
161
+ "fields"
162
+ ] as JSONObject;
163
+
164
+ const flattenedFields: Dictionary<AttributeType> = {};
165
+ for (const key in fields) {
166
+ const prefixKey: string = `${prefixKeysWithString}.${key}`;
167
+ const nestedValue: AttributeType | Dictionary<AttributeType> =
168
+ this.getAttributeValues(prefixKey, fields[key]) as AttributeType;
169
+ if (typeof nestedValue === "object" && nestedValue !== null) {
170
+ for (const nestedKey in nestedValue as Dictionary<AttributeType>) {
171
+ flattenedFields[`${prefixKey}.${nestedKey}`] = (
172
+ nestedValue as Dictionary<AttributeType>
173
+ )[nestedKey] as AttributeType;
174
+ }
175
+ } else {
176
+ flattenedFields[prefixKey] = nestedValue;
177
+ }
178
+ }
179
+ finalObj = flattenedFields;
145
180
  }
146
-
147
- if (data.telemetryServiceName) {
148
- (
149
- ((finalObj["oneuptime"] as JSONObject)["telemetry"] as JSONObject)[
150
- "service"
151
- ] as JSONObject
152
- )["name"] = data.telemetryServiceName;
181
+ // kvlistValue
182
+ else if (
183
+ value["kvlistValue"] &&
184
+ (value["kvlistValue"] as JSONObject)["values"]
185
+ ) {
186
+ const values: JSONArray = (value["kvlistValue"] as JSONObject)[
187
+ "values"
188
+ ] as JSONArray;
189
+ finalObj = this.getAttributes({
190
+ prefixKeysWithString,
191
+ items: values,
192
+ }) as Dictionary<AttributeType>;
193
+ } else if (value["nullValue"]) {
194
+ finalObj = null;
153
195
  }
154
196
 
155
- return JSONFunctions.flattenObject(finalObj);
197
+ return finalObj;
156
198
  }
157
199
  }
@@ -101,11 +101,11 @@ export default class TelemetryAttribute extends AnalyticsBaseModel {
101
101
  },
102
102
  }),
103
103
  new AnalyticsTableColumn({
104
- key: "attribute",
105
- title: "Attribute",
106
- description: "Attribute",
104
+ key: "attributes",
105
+ title: "Attributes",
106
+ description: "Attributes",
107
107
  required: true,
108
- type: TableColumnType.Text,
108
+ type: TableColumnType.JSONArray,
109
109
  accessControl: {
110
110
  read: [
111
111
  Permission.ProjectOwner,
@@ -143,11 +143,11 @@ export default class TelemetryAttribute extends AnalyticsBaseModel {
143
143
  set telemetryType(v) {
144
144
  this.setColumnValue("telemetryType", v);
145
145
  }
146
- get attribute() {
147
- return this.getColumnValue("attribute");
146
+ get attributes() {
147
+ return this.getColumnValue("attributes");
148
148
  }
149
- set attribute(v) {
150
- this.setColumnValue("attribute", v);
149
+ set attributes(v) {
150
+ this.setColumnValue("attributes", v);
151
151
  }
152
152
  }
153
153
  //# sourceMappingURL=TelemetryAttribute.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TelemetryAttribute.js","sourceRoot":"","sources":["../../../../Models/AnalyticsModels/TelemetryAttribute.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,MAAM,uBAAuB,CAAC;AAC1C,OAAO,oBAAoB,MAAM,oDAAoD,CAAC;AACtF,OAAO,oBAAoB,MAAM,2CAA2C,CAAC;AAC7E,OAAO,eAAe,MAAM,+CAA+C,CAAC;AAG5E,OAAO,UAAU,MAAM,wBAAwB,CAAC;AAEhD,MAAM,CAAC,OAAO,OAAO,kBAAmB,SAAQ,kBAAkB;IAChE;QACE,KAAK,CAAC;YACJ,SAAS,EAAE,oBAAoB;YAC/B,WAAW,EAAE,oBAAoB,CAAC,SAAS;YAC3C,YAAY,EAAE,qBAAqB;YACnC,UAAU,EAAE,sBAAsB;YAClC,WAAW,EAAE,IAAI,KAAK,CAAC,uBAAuB,CAAC;YAC/C,aAAa,EAAE;gBACb,IAAI,EAAE;oBACJ,UAAU,CAAC,YAAY;oBACvB,UAAU,CAAC,YAAY;oBACvB,UAAU,CAAC,aAAa;oBACxB,UAAU,CAAC,0BAA0B;oBACrC,UAAU,CAAC,uBAAuB;oBAClC,UAAU,CAAC,2BAA2B;iBACvC;gBACD,MAAM,EAAE;oBACN,UAAU,CAAC,YAAY;oBACvB,UAAU,CAAC,YAAY;oBACvB,UAAU,CAAC,aAAa;oBACxB,UAAU,CAAC,4BAA4B;oBACvC,UAAU,CAAC,yBAAyB;oBACpC,UAAU,CAAC,6BAA6B;iBACzC;gBACD,MAAM,EAAE;oBACN,UAAU,CAAC,YAAY;oBACvB,UAAU,CAAC,YAAY;oBACvB,UAAU,CAAC,aAAa;oBACxB,UAAU,CAAC,0BAA0B;oBACrC,UAAU,CAAC,uBAAuB;oBAClC,UAAU,CAAC,2BAA2B;iBACvC;gBACD,MAAM,EAAE;oBACN,UAAU,CAAC,YAAY;oBACvB,UAAU,CAAC,YAAY;oBACvB,UAAU,CAAC,aAAa;oBACxB,UAAU,CAAC,4BAA4B;oBACvC,UAAU,CAAC,yBAAyB;oBACpC,UAAU,CAAC,6BAA6B;iBACzC;aACF;YACD,YAAY,EAAE;gBACZ,IAAI,oBAAoB,CAAC;oBACvB,GAAG,EAAE,WAAW;oBAChB,KAAK,EAAE,YAAY;oBACnB,WAAW,EAAE,eAAe;oBAC5B,QAAQ,EAAE,IAAI;oBACd,IAAI,EAAE,eAAe,CAAC,QAAQ;oBAC9B,UAAU,EAAE,IAAI;oBAChB,aAAa,EAAE;wBACb,IAAI,EAAE;4BACJ,UAAU,CAAC,YAAY;4BACvB,UAAU,CAAC,YAAY;4BACvB,UAAU,CAAC,aAAa;4BACxB,UAAU,CAAC,0BAA0B;4BACrC,UAAU,CAAC,uBAAuB;4BAClC,UAAU,CAAC,2BAA2B;yBACvC;wBACD,MAAM,EAAE;4BACN,UAAU,CAAC,YAAY;4BACvB,UAAU,CAAC,YAAY;4BACvB,UAAU,CAAC,aAAa;4BACxB,UAAU,CAAC,0BAA0B;4BACrC,UAAU,CAAC,uBAAuB;4BAClC,UAAU,CAAC,2BAA2B;yBACvC;wBACD,MAAM,EAAE,EAAE;qBACX;iBACF,CAAC;gBAEF,IAAI,oBAAoB,CAAC;oBACvB,GAAG,EAAE,eAAe;oBACpB,KAAK,EAAE,gBAAgB;oBACvB,WAAW,EAAE,mBAAmB;oBAChC,QAAQ,EAAE,IAAI;oBACd,IAAI,EAAE,eAAe,CAAC,IAAI;oBAC1B,aAAa,EAAE;wBACb,IAAI,EAAE;4BACJ,UAAU,CAAC,YAAY;4BACvB,UAAU,CAAC,YAAY;4BACvB,UAAU,CAAC,aAAa;4BACxB,UAAU,CAAC,0BAA0B;4BACrC,UAAU,CAAC,uBAAuB;4BAClC,UAAU,CAAC,2BAA2B;yBACvC;wBACD,MAAM,EAAE;4BACN,UAAU,CAAC,YAAY;4BACvB,UAAU,CAAC,YAAY;4BACvB,UAAU,CAAC,aAAa;4BACxB,UAAU,CAAC,0BAA0B;4BACrC,UAAU,CAAC,uBAAuB;4BAClC,UAAU,CAAC,2BAA2B;yBACvC;wBACD,MAAM,EAAE,EAAE;qBACX;iBACF,CAAC;gBAEF,IAAI,oBAAoB,CAAC;oBACvB,GAAG,EAAE,WAAW;oBAChB,KAAK,EAAE,WAAW;oBAClB,WAAW,EAAE,WAAW;oBACxB,QAAQ,EAAE,IAAI;oBACd,IAAI,EAAE,eAAe,CAAC,IAAI;oBAC1B,aAAa,EAAE;wBACb,IAAI,EAAE;4BACJ,UAAU,CAAC,YAAY;4BACvB,UAAU,CAAC,YAAY;4BACvB,UAAU,CAAC,aAAa;4BACxB,UAAU,CAAC,0BAA0B;4BACrC,UAAU,CAAC,uBAAuB;4BAClC,UAAU,CAAC,2BAA2B;yBACvC;wBACD,MAAM,EAAE;4BACN,UAAU,CAAC,YAAY;4BACvB,UAAU,CAAC,YAAY;4BACvB,UAAU,CAAC,aAAa;4BACxB,UAAU,CAAC,0BAA0B;4BACrC,UAAU,CAAC,uBAAuB;4BAClC,UAAU,CAAC,2BAA2B;yBACvC;wBACD,MAAM,EAAE,EAAE;qBACX;iBACF,CAAC;aACH;YACD,QAAQ,EAAE,CAAC,WAAW,EAAE,eAAe,CAAC;YACxC,WAAW,EAAE,CAAC,WAAW,EAAE,eAAe,CAAC;SAC5C,CAAC,CAAC;IACL,CAAC;IAED,IAAW,SAAS;QAClB,OAAO,IAAI,CAAC,cAAc,CAAC,WAAW,CAAyB,CAAC;IAClE,CAAC;IAED,IAAW,SAAS,CAAC,CAAuB;QAC1C,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IACtC,CAAC;IAED,IAAW,aAAa;QACtB,OAAO,IAAI,CAAC,cAAc,CAAC,eAAe,CAA8B,CAAC;IAC3E,CAAC;IAED,IAAW,aAAa,CAAC,CAA4B;QACnD,IAAI,CAAC,cAAc,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC;IAC1C,CAAC;IAED,IAAW,SAAS;QAClB,OAAO,IAAI,CAAC,cAAc,CAAC,WAAW,CAAuB,CAAC;IAChE,CAAC;IAED,IAAW,SAAS,CAAC,CAAqB;QACxC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IACtC,CAAC;CACF"}
1
+ {"version":3,"file":"TelemetryAttribute.js","sourceRoot":"","sources":["../../../../Models/AnalyticsModels/TelemetryAttribute.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,6 @@ import BadDataException from "Common/Types/Exception/BadDataException";
5
5
  import CommonAPI from "./CommonAPI";
6
6
  import TelemetryType from "Common/Types/Telemetry/TelemetryType";
7
7
  import TelemetryAttributeService from "../Services/TelemetryAttributeService";
8
- import ArrayUtil from "Common/Utils/Array";
9
8
  const router = Express.getRouter();
10
9
  router.post("/telemetry/metrics/get-attributes", UserMiddleware.getUserMiddleware, async (req, res, next) => {
11
10
  return getAttributes(req, res, next, TelemetryType.Metric);
@@ -25,10 +24,10 @@ const getAttributes = async (req, res, next, telemetryType) => {
25
24
  if (!databaseProps.tenantId) {
26
25
  return Response.sendErrorResponse(req, res, new BadDataException("Invalid Project ID"));
27
26
  }
28
- const attributes = ArrayUtil.removeDuplicates(await TelemetryAttributeService.fetchAttributes({
27
+ const attributes = await TelemetryAttributeService.fetchAttributes({
29
28
  projectId: databaseProps.tenantId,
30
29
  telemetryType,
31
- }));
30
+ });
32
31
  return Response.sendJsonObjectResponse(req, res, {
33
32
  attributes: attributes,
34
33
  });
@@ -1 +1 @@
1
- {"version":3,"file":"TelemetryAPI.js","sourceRoot":"","sources":["../../../../Server/API/TelemetryAPI.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,MAAM,iCAAiC,CAAC;AAC7D,OAAO,OAKN,MAAM,kBAAkB,CAAC;AAC1B,OAAO,QAAQ,MAAM,mBAAmB,CAAC;AACzC,OAAO,gBAAgB,MAAM,yCAAyC,CAAC;AACvE,OAAO,SAAS,MAAM,aAAa,CAAC;AAEpC,OAAO,aAAa,MAAM,sCAAsC,CAAC;AACjE,OAAO,yBAAyB,MAAM,uCAAuC,CAAC;AAC9E,OAAO,SAAS,MAAM,oBAAoB,CAAC;AAE3C,MAAM,MAAM,GAAkB,OAAO,CAAC,SAAS,EAAE,CAAC;AAElD,MAAM,CAAC,IAAI,CACT,mCAAmC,EACnC,cAAc,CAAC,iBAAiB,EAChC,KAAK,EAAE,GAAmB,EAAE,GAAoB,EAAE,IAAkB,EAAE,EAAE;IACtE,OAAO,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;AAC7D,CAAC,CACF,CAAC;AAEF,MAAM,CAAC,IAAI,CACT,gCAAgC,EAChC,cAAc,CAAC,iBAAiB,EAChC,KAAK,EAAE,GAAmB,EAAE,GAAoB,EAAE,IAAkB,EAAE,EAAE;IACtE,OAAO,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC;AAC1D,CAAC,CACF,CAAC;AAEF,MAAM,CAAC,IAAI,CACT,kCAAkC,EAClC,cAAc,CAAC,iBAAiB,EAChC,KAAK,EAAE,GAAmB,EAAE,GAAoB,EAAE,IAAkB,EAAE,EAAE;IACtE,OAAO,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;AAC5D,CAAC,CACF,CAAC;AASF,MAAM,aAAa,GAA0B,KAAK,EAChD,GAAmB,EACnB,GAAoB,EACpB,IAAkB,EAClB,aAA4B,EAC5B,EAAE;IACF,IAAI,CAAC;QACH,MAAM,aAAa,GACjB,MAAM,SAAS,CAAC,iCAAiC,CAAC,GAAG,CAAC,CAAC;QAEzD,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,OAAO,QAAQ,CAAC,iBAAiB,CAC/B,GAAG,EACH,GAAG,EACH,IAAI,gBAAgB,CAAC,uBAAuB,CAAC,CAC9C,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;YAC5B,OAAO,QAAQ,CAAC,iBAAiB,CAC/B,GAAG,EACH,GAAG,EACH,IAAI,gBAAgB,CAAC,oBAAoB,CAAC,CAC3C,CAAC;QACJ,CAAC;QAED,MAAM,UAAU,GAAa,SAAS,CAAC,gBAAgB,CACrD,MAAM,yBAAyB,CAAC,eAAe,CAAC;YAC9C,SAAS,EAAE,aAAa,CAAC,QAAQ;YACjC,aAAa;SACd,CAAC,CACH,CAAC;QAEF,OAAO,QAAQ,CAAC,sBAAsB,CAAC,GAAG,EAAE,GAAG,EAAE;YAC/C,UAAU,EAAE,UAAU;SACvB,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,IAAI,CAAC,GAAG,CAAC,CAAC;IACZ,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"TelemetryAPI.js","sourceRoot":"","sources":["../../../../Server/API/TelemetryAPI.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,MAAM,iCAAiC,CAAC;AAC7D,OAAO,OAKN,MAAM,kBAAkB,CAAC;AAC1B,OAAO,QAAQ,MAAM,mBAAmB,CAAC;AACzC,OAAO,gBAAgB,MAAM,yCAAyC,CAAC;AACvE,OAAO,SAAS,MAAM,aAAa,CAAC;AAEpC,OAAO,aAAa,MAAM,sCAAsC,CAAC;AACjE,OAAO,yBAAyB,MAAM,uCAAuC,CAAC;AAE9E,MAAM,MAAM,GAAkB,OAAO,CAAC,SAAS,EAAE,CAAC;AAElD,MAAM,CAAC,IAAI,CACT,mCAAmC,EACnC,cAAc,CAAC,iBAAiB,EAChC,KAAK,EAAE,GAAmB,EAAE,GAAoB,EAAE,IAAkB,EAAE,EAAE;IACtE,OAAO,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;AAC7D,CAAC,CACF,CAAC;AAEF,MAAM,CAAC,IAAI,CACT,gCAAgC,EAChC,cAAc,CAAC,iBAAiB,EAChC,KAAK,EAAE,GAAmB,EAAE,GAAoB,EAAE,IAAkB,EAAE,EAAE;IACtE,OAAO,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC;AAC1D,CAAC,CACF,CAAC;AAEF,MAAM,CAAC,IAAI,CACT,kCAAkC,EAClC,cAAc,CAAC,iBAAiB,EAChC,KAAK,EAAE,GAAmB,EAAE,GAAoB,EAAE,IAAkB,EAAE,EAAE;IACtE,OAAO,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;AAC5D,CAAC,CACF,CAAC;AASF,MAAM,aAAa,GAA0B,KAAK,EAChD,GAAmB,EACnB,GAAoB,EACpB,IAAkB,EAClB,aAA4B,EAC5B,EAAE;IACF,IAAI,CAAC;QACH,MAAM,aAAa,GACjB,MAAM,SAAS,CAAC,iCAAiC,CAAC,GAAG,CAAC,CAAC;QAEzD,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,OAAO,QAAQ,CAAC,iBAAiB,CAC/B,GAAG,EACH,GAAG,EACH,IAAI,gBAAgB,CAAC,uBAAuB,CAAC,CAC9C,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;YAC5B,OAAO,QAAQ,CAAC,iBAAiB,CAC/B,GAAG,EACH,GAAG,EACH,IAAI,gBAAgB,CAAC,oBAAoB,CAAC,CAC3C,CAAC;QACJ,CAAC;QAED,MAAM,UAAU,GACd,MAAM,yBAAyB,CAAC,eAAe,CAAC;YAC9C,SAAS,EAAE,aAAa,CAAC,QAAQ;YACjC,aAAa;SACd,CAAC,CAAC;QAEL,OAAO,QAAQ,CAAC,sBAAsB,CAAC,GAAG,EAAE,GAAG,EAAE;YAC/C,UAAU,EAAE,UAAU;SACvB,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,IAAI,CAAC,GAAG,CAAC,CAAC;IACZ,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,MAAM,CAAC"}
@@ -8,7 +8,6 @@ var __metadata = (this && this.__metadata) || function (k, v) {
8
8
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
9
  };
10
10
  import OneUptimeDate from "Common/Types/Date";
11
- import JSONFunctions from "Common/Types/JSONFunctions";
12
11
  import Metric, { AggregationTemporality, } from "Common/Models/AnalyticsModels/Metric";
13
12
  import { IsBillingEnabled } from "Common/Server/EnvironmentConfig";
14
13
  import TelemetryUsageBillingService from "Common/Server/Services/TelemetryUsageBillingService";
@@ -109,15 +108,14 @@ export default class OTelIngestService {
109
108
  if (!newDbMetric.attributes) {
110
109
  newDbMetric.attributes = {};
111
110
  }
112
- newDbMetric.attributes = Object.assign(Object.assign({}, (newDbMetric.attributes || {})), TelemetryUtil.getAttributes({
111
+ newDbMetric.attributes = Object.assign(Object.assign({}, TelemetryUtil.getAttributesForServiceIdAndServiceName({
112
+ serviceId: data.telemetryServiceId,
113
+ serviceName: data.telemetryServiceName,
114
+ })), TelemetryUtil.getAttributes({
113
115
  items: datapoint["attributes"],
114
- telemetryServiceId: data.telemetryServiceId,
115
- telemetryServiceName: data.telemetryServiceName,
116
+ prefixKeysWithString: "metricAttributes",
116
117
  }));
117
118
  }
118
- if (newDbMetric.attributes) {
119
- newDbMetric.attributes = JSONFunctions.flattenObject(newDbMetric.attributes);
120
- }
121
119
  // aggregationTemporality
122
120
  if (aggregationTemporality) {
123
121
  if (aggregationTemporality === OtelAggregationTemporality.Cumulative) {
@@ -1 +1 @@
1
- {"version":3,"file":"OpenTelemetryIngestService.js","sourceRoot":"","sources":["../../../../Server/Services/OpenTelemetryIngestService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OpenTelemetryIngestService.js","sourceRoot":"","sources":["../../../../Server/Services/OpenTelemetryIngestService.ts"],"names":[],"mappings":"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"}
@@ -9,35 +9,29 @@ var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  };
10
10
  import AnalyticsDatabaseService from "./AnalyticsDatabaseService";
11
11
  import TelemetryAttribute from "Common/Models/AnalyticsModels/TelemetryAttribute";
12
- import { LIMIT_PER_PROJECT } from "../../Types/Database/LimitMax";
13
12
  import CaptureSpan from "../Utils/Telemetry/CaptureSpan";
14
13
  export class TelemetryAttributeService extends AnalyticsDatabaseService {
15
14
  constructor(clickhouseDatabase) {
16
15
  super({ modelType: TelemetryAttribute, database: clickhouseDatabase });
17
16
  }
18
17
  async fetchAttributes(data) {
19
- const attributes = await this.findBy({
18
+ const telemetryAttribute = await this.findOneBy({
20
19
  query: {
21
20
  projectId: data.projectId,
22
21
  telemetryType: data.telemetryType,
23
22
  },
24
23
  select: {
25
- attribute: true,
24
+ attributes: true,
26
25
  },
27
- limit: LIMIT_PER_PROJECT,
28
- skip: 0,
29
26
  props: {
30
27
  isRoot: true,
31
28
  },
32
29
  });
33
- const dbAttributes = attributes
34
- .map((attribute) => {
35
- return attribute.attribute;
36
- })
37
- .filter((attribute) => {
38
- return Boolean(attribute);
39
- });
40
- return dbAttributes.sort();
30
+ return telemetryAttribute &&
31
+ telemetryAttribute.attributes &&
32
+ telemetryAttribute
33
+ ? telemetryAttribute.attributes
34
+ : [];
41
35
  }
42
36
  async refreshAttributes(data) {
43
37
  const { projectId, telemetryType, attributes } = data;
@@ -51,17 +45,12 @@ export class TelemetryAttributeService extends AnalyticsDatabaseService {
51
45
  isRoot: true,
52
46
  },
53
47
  });
54
- const telemetryAttributes = [];
55
- // insert new attributes
56
- for (const attribute of attributes) {
57
- const telemetryAttribute = new TelemetryAttribute();
58
- telemetryAttribute.projectId = projectId;
59
- telemetryAttribute.telemetryType = telemetryType;
60
- telemetryAttribute.attribute = attribute;
61
- telemetryAttributes.push(telemetryAttribute);
62
- }
63
- await this.createMany({
64
- items: telemetryAttributes,
48
+ const telemetryAttribute = new TelemetryAttribute();
49
+ telemetryAttribute.projectId = projectId;
50
+ telemetryAttribute.telemetryType = telemetryType;
51
+ telemetryAttribute.attributes = attributes;
52
+ await this.create({
53
+ data: telemetryAttribute,
65
54
  props: {
66
55
  isRoot: true,
67
56
  },
@@ -1 +1 @@
1
- {"version":3,"file":"TelemetryAttributeService.js","sourceRoot":"","sources":["../../../../Server/Services/TelemetryAttributeService.ts"],"names":[],"mappings":";;;;;;;;;AAEA,OAAO,wBAAwB,MAAM,4BAA4B,CAAC;AAClE,OAAO,kBAAkB,MAAM,kDAAkD,CAAC;AAClF,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAElE,OAAO,WAAW,MAAM,gCAAgC,CAAC;AAEzD,MAAM,OAAO,yBAA0B,SAAQ,wBAA4C;IACzF,YAAmB,kBAAmD;QACpE,KAAK,CAAC,EAAE,SAAS,EAAE,kBAAkB,EAAE,QAAQ,EAAE,kBAAkB,EAAE,CAAC,CAAC;IACzE,CAAC;IAGY,AAAN,KAAK,CAAC,eAAe,CAAC,IAG5B;QACC,MAAM,UAAU,GAAyB,MAAM,IAAI,CAAC,MAAM,CAAC;YACzD,KAAK,EAAE;gBACL,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,aAAa,EAAE,IAAI,CAAC,aAAa;aAClC;YACD,MAAM,EAAE;gBACN,SAAS,EAAE,IAAI;aAChB;YACD,KAAK,EAAE,iBAAiB;YACxB,IAAI,EAAE,CAAC;YACP,KAAK,EAAE;gBACL,MAAM,EAAE,IAAI;aACb;SACF,CAAC,CAAC;QAEH,MAAM,YAAY,GAAa,UAAU;aACtC,GAAG,CAAC,CAAC,SAA6B,EAAE,EAAE;YACrC,OAAO,SAAS,CAAC,SAAS,CAAC;QAC7B,CAAC,CAAC;aACD,MAAM,CAAC,CAAC,SAA6B,EAAE,EAAE;YACxC,OAAO,OAAO,CAAC,SAAS,CAAC,CAAC;QAC5B,CAAC,CAAa,CAAC;QAEjB,OAAO,YAAY,CAAC,IAAI,EAAE,CAAC;IAC7B,CAAC;IAGY,AAAN,KAAK,CAAC,iBAAiB,CAAC,IAI9B;QACC,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;QAEtD,6BAA6B;QAC7B,MAAM,IAAI,CAAC,QAAQ,CAAC;YAClB,KAAK,EAAE;gBACL,SAAS;gBACT,aAAa;aACd;YACD,KAAK,EAAE;gBACL,MAAM,EAAE,IAAI;aACb;SACF,CAAC,CAAC;QAEH,MAAM,mBAAmB,GAAyB,EAAE,CAAC;QAErD,wBAAwB;QACxB,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACnC,MAAM,kBAAkB,GAAuB,IAAI,kBAAkB,EAAE,CAAC;YAExE,kBAAkB,CAAC,SAAS,GAAG,SAAS,CAAC;YACzC,kBAAkB,CAAC,aAAa,GAAG,aAAa,CAAC;YACjD,kBAAkB,CAAC,SAAS,GAAG,SAAS,CAAC;YAEzC,mBAAmB,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAC/C,CAAC;QAED,MAAM,IAAI,CAAC,UAAU,CAAC;YACpB,KAAK,EAAE,mBAAmB;YAC1B,KAAK,EAAE;gBACL,MAAM,EAAE,IAAI;aACb;SACF,CAAC,CAAC;IACL,CAAC;CACF;AArEc;IADZ,WAAW,EAAE;;;;gEA6Bb;AAGY;IADZ,WAAW,EAAE;;;;kEAsCb;AAGH,eAAe,IAAI,yBAAyB,EAAE,CAAC"}
1
+ {"version":3,"file":"TelemetryAttributeService.js","sourceRoot":"","sources":["../../../../Server/Services/TelemetryAttributeService.ts"],"names":[],"mappings":";;;;;;;;;AAEA,OAAO,wBAAwB,MAAM,4BAA4B,CAAC;AAClE,OAAO,kBAAkB,MAAM,kDAAkD,CAAC;AAElF,OAAO,WAAW,MAAM,gCAAgC,CAAC;AAEzD,MAAM,OAAO,yBAA0B,SAAQ,wBAA4C;IACzF,YAAmB,kBAAmD;QACpE,KAAK,CAAC,EAAE,SAAS,EAAE,kBAAkB,EAAE,QAAQ,EAAE,kBAAkB,EAAE,CAAC,CAAC;IACzE,CAAC;IAGY,AAAN,KAAK,CAAC,eAAe,CAAC,IAG5B;QACC,MAAM,kBAAkB,GAA8B,MAAM,IAAI,CAAC,SAAS,CAAC;YACzE,KAAK,EAAE;gBACL,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,aAAa,EAAE,IAAI,CAAC,aAAa;aAClC;YACD,MAAM,EAAE;gBACN,UAAU,EAAE,IAAI;aACjB;YACD,KAAK,EAAE;gBACL,MAAM,EAAE,IAAI;aACb;SACF,CAAC,CAAC;QAEH,OAAO,kBAAkB;YACvB,kBAAkB,CAAC,UAAU;YAC7B,kBAAkB;YAClB,CAAC,CAAC,kBAAkB,CAAC,UAAU;YAC/B,CAAC,CAAC,EAAE,CAAC;IACT,CAAC;IAGY,AAAN,KAAK,CAAC,iBAAiB,CAAC,IAI9B;QACC,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;QAEtD,6BAA6B;QAC7B,MAAM,IAAI,CAAC,QAAQ,CAAC;YAClB,KAAK,EAAE;gBACL,SAAS;gBACT,aAAa;aACd;YACD,KAAK,EAAE;gBACL,MAAM,EAAE,IAAI;aACb;SACF,CAAC,CAAC;QAEH,MAAM,kBAAkB,GAAuB,IAAI,kBAAkB,EAAE,CAAC;QAExE,kBAAkB,CAAC,SAAS,GAAG,SAAS,CAAC;QACzC,kBAAkB,CAAC,aAAa,GAAG,aAAa,CAAC;QACjD,kBAAkB,CAAC,UAAU,GAAG,UAAU,CAAC;QAE3C,MAAM,IAAI,CAAC,MAAM,CAAC;YAChB,IAAI,EAAE,kBAAkB;YACxB,KAAK,EAAE;gBACL,MAAM,EAAE,IAAI;aACb;SACF,CAAC,CAAC;IACL,CAAC;CACF;AAxDc;IADZ,WAAW,EAAE;;;;gEAuBb;AAGY;IADZ,WAAW,EAAE;;;;kEA+Bb;AAGH,eAAe,IAAI,yBAAyB,EAAE,CAAC"}
@@ -32,7 +32,7 @@ function CaptureSpan(data) {
32
32
  return Telemetry.startActiveSpan({
33
33
  name: name,
34
34
  options: {
35
- attributes: spanAttributes,
35
+ attributes: Object.assign(Object.assign({}, spanAttributes), { hey: "there", thisIsNumber: 123, thisIsBoolean: true, thisIsArray: [1, 2, 3] }),
36
36
  },
37
37
  fn: (span) => {
38
38
  let result = null;
@@ -1 +1 @@
1
- {"version":3,"file":"CaptureSpan.js","sourceRoot":"","sources":["../../../../../Server/Utils/Telemetry/CaptureSpan.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CaptureSpan.js","sourceRoot":"","sources":["../../../../../Server/Utils/Telemetry/CaptureSpan.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,EAAQ,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAE1D,OAAO,aAAa,MAAM,8BAA8B,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D,SAAS,WAAW,CAAC,IAIpB;IAKC,OAAO,UACL,MAAW,EACX,WAAmB,EACnB,UAAwC;;QAExC,MAAM,cAAc,GAAQ,UAAU,CAAC,KAAK,CAAC;QAE7C,IAAI,SAAS,GAAuB,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,WAAW,0CAAE,IAAI,CAAC;QAE9D,IAAI,SAAS,KAAK,EAAE,IAAI,SAAS,KAAK,UAAU,EAAE,CAAC;YACjD,MAAM,eAAe,GAAuB,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,CAAC;YAEzD,IAAI,eAAe,EAAE,CAAC;gBACpB,SAAS,GAAG,eAAe,CAAC;YAC9B,CAAC;QACH,CAAC;QAED,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,SAAS,GAAG,cAAc,CAAC;QAC7B,CAAC;QAED,MAAM,IAAI,GACR,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,KAAI,GAAG,SAAS,IAAI,WAAW,EAAE,CAAC;QAE9C,UAAU,CAAC,KAAK,GAAG,UAAU,GAAG,IAAW;YACzC,IAAI,gBAAgB,EAAE,CAAC;gBACrB,OAAO,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAC1C,CAAC;YAED,IAAI,iBAAiB,GAAe,EAAE,CAAC;YAEvC,IAAI,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,gBAAgB,EAAE,CAAC;gBAC3B,iBAAiB,GAAG,IAAI,CAAC,MAAM,CAC7B,CAAC,GAA2B,EAAE,GAAQ,EAAE,KAAa,EAAE,EAAE;oBACvD,GAAG,CAAC,MAAM,KAAK,EAAE,CAAC,GAAG,GAAG,CAAC;oBACzB,OAAO,GAAG,CAAC;gBACb,CAAC,EACD,EAAE,CACH,CAAC;YACJ,CAAC;YAED,MAAM,cAAc,GAClB,aAAa,CAAC,aAAa,iCACtB,iBAAiB,GACjB,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,UAAU,EACO,CAAC;YAE/B,OAAO,SAAS,CAAC,eAAe,CAAC;gBAC/B,IAAI,EAAE,IAAI;gBACV,OAAO,EAAE;oBACP,UAAU,kCACL,cAAc,KACjB,GAAG,EAAE,OAAO,EACZ,YAAY,EAAE,GAAG,EACjB,aAAa,EAAE,IAAI,EACnB,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GACvB;iBACF;gBACD,EAAE,EAAE,CAAC,IAAU,EAAE,EAAE;oBACjB,IAAI,MAAM,GAAQ,IAAI,CAAC;oBACvB,IAAI,CAAC;wBACH,MAAM,GAAG,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;wBAC1C,IAAI,MAAM,YAAY,OAAO,EAAE,CAAC;4BAC9B,OAAO,MAAM;iCACV,IAAI,CAAC,CAAC,GAAQ,EAAE,EAAE;gCACjB,IAAI,CAAC,SAAS,CAAC;oCACb,IAAI,EAAE,cAAc,CAAC,EAAE;iCACxB,CAAC,CAAC;gCACH,OAAO,GAAG,CAAC;4BACb,CAAC,CAAC;iCACD,KAAK,CAAC,CAAC,GAAU,EAAE,EAAE;gCACpB,SAAS,CAAC,wCAAwC,CAAC;oCACjD,IAAI;oCACJ,SAAS,EAAE,GAAG;iCACf,CAAC,CAAC;gCAEH,MAAM,GAAG,CAAC;4BACZ,CAAC,CAAC;iCACD,OAAO,CAAC,GAAG,EAAE;gCACZ,IAAI,CAAC,GAAG,EAAE,CAAC;4BACb,CAAC,CAAC,CAAC;wBACP,CAAC;wBACD,IAAI,CAAC,SAAS,CAAC;4BACb,IAAI,EAAE,cAAc,CAAC,EAAE;yBACxB,CAAC,CAAC;wBACH,OAAO,MAAM,CAAC;oBAChB,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACb,SAAS,CAAC,wCAAwC,CAAC;4BACjD,IAAI;4BACJ,SAAS,EAAE,GAAG;yBACf,CAAC,CAAC;wBAEH,MAAM,GAAG,CAAC;oBACZ,CAAC;4BAAS,CAAC;wBACT,IAAI,CAAC,CAAC,MAAM,YAAY,OAAO,CAAC,EAAE,CAAC;4BACjC,IAAI,CAAC,GAAG,EAAE,CAAC;wBACb,CAAC;oBACH,CAAC;gBACH,CAAC;aACF,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,OAAO,UAAU,CAAC;IACpB,CAAC,CAAC;AACJ,CAAC;AAED,eAAe,WAAW,CAAC"}
@@ -7,21 +7,23 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
7
7
  var __metadata = (this && this.__metadata) || function (k, v) {
8
8
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
9
  };
10
- import JSONFunctions from "../../../Types/JSONFunctions";
11
- import ArrayUtil from "../../../Utils/Array";
12
10
  import GlobalCache from "../../Infrastructure/GlobalCache";
13
11
  import TelemetryAttributeService from "../../Services/TelemetryAttributeService";
14
12
  import CaptureSpan from "./CaptureSpan";
13
+ import logger from "../Logger";
15
14
  export default class TelemetryUtil {
16
15
  static async indexAttributes(data) {
17
16
  // index attributes
17
+ logger.debug("Indexing attributes");
18
+ logger.debug("data: " + JSON.stringify(data, null, 2));
18
19
  const cacheKey = data.projectId.toString() + "_" + data.telemetryType;
19
20
  // get keys from cache
20
21
  const cacheKeys = (await GlobalCache.getStringArray("telemetryAttributesKeys", cacheKey)) ||
21
22
  [];
22
23
  let isKeysMissingInCache = false;
23
24
  // check if keys are missing in cache
24
- for (const key of data.attributes) {
25
+ const attributeKeys = data.attributes;
26
+ for (const key of attributeKeys) {
25
27
  if (!cacheKeys.includes(key)) {
26
28
  isKeysMissingInCache = true;
27
29
  break;
@@ -33,11 +35,7 @@ export default class TelemetryUtil {
33
35
  projectId: data.projectId,
34
36
  telemetryType: data.telemetryType,
35
37
  });
36
- const mergedKeys = ArrayUtil.removeDuplicates([
37
- ...dbKeys,
38
- ...data.attributes,
39
- ...cacheKeys,
40
- ]);
38
+ const mergedKeys = Array.from(new Set([...dbKeys, ...attributeKeys, ...cacheKeys]));
41
39
  await GlobalCache.setStringArray("telemetryAttributesKeys", cacheKey, mergedKeys);
42
40
  await TelemetryAttributeService.refreshAttributes({
43
41
  projectId: data.projectId,
@@ -46,65 +44,95 @@ export default class TelemetryUtil {
46
44
  });
47
45
  }
48
46
  }
47
+ static getAttributesForServiceIdAndServiceName(data) {
48
+ // get attributes for service id and service name
49
+ return {
50
+ "oneuptime.service.id": data.serviceId.toString(),
51
+ "oneuptime.service.name": data.serviceName,
52
+ };
53
+ }
49
54
  static getAttributes(data) {
50
55
  const { items } = data;
51
- const finalObj = {};
52
- // We need to convert this to date.
56
+ let { prefixKeysWithString } = data;
57
+ if (prefixKeysWithString) {
58
+ prefixKeysWithString = prefixKeysWithString + ".";
59
+ }
60
+ let finalObj = {};
53
61
  const attributes = items;
54
- const getValue = (value) => {
55
- value = value;
56
- if (value["stringValue"]) {
57
- value = value["stringValue"];
58
- }
59
- else if (value["intValue"]) {
60
- value = value["intValue"];
61
- }
62
- else if (value["doubleValue"]) {
63
- value = value["doubleValue"];
64
- }
65
- else if (value["boolValue"]) {
66
- value = value["boolValue"];
67
- }
68
- else if (value["arrayValue"] &&
69
- value["arrayValue"]["values"]) {
70
- value = value["arrayValue"]["values"].map((v) => {
71
- return getValue(v);
72
- });
73
- }
74
- else if (value["mapValue"] &&
75
- value["mapValue"]["fields"]) {
76
- value = getValue(value["mapValue"]["fields"]);
77
- }
78
- else if (value["nullValue"]) {
79
- value = null;
80
- }
81
- return value;
82
- };
83
- if (attributes) {
84
- for (const attribute of attributes) {
85
- if (attribute["key"] && typeof attribute["key"] === "string") {
86
- const value = getValue(attribute["value"]);
87
- finalObj[attribute["key"]] = value;
62
+ if (!attributes) {
63
+ return finalObj;
64
+ }
65
+ for (const attribute of attributes) {
66
+ if (attribute["key"] && typeof attribute["key"] === "string") {
67
+ const keyWithPrefix = `${prefixKeysWithString}${attribute["key"]}`;
68
+ const value = this.getAttributeValues(keyWithPrefix, attribute["value"]);
69
+ if (Array.isArray(value)) {
70
+ finalObj = Object.assign(Object.assign({}, finalObj), { [keyWithPrefix]: value });
71
+ }
72
+ else if (typeof value === "object" && value !== null) {
73
+ finalObj = Object.assign(Object.assign({}, finalObj), value);
74
+ }
75
+ else {
76
+ finalObj[keyWithPrefix] = value;
88
77
  }
89
78
  }
90
79
  }
91
- // add oneuptime specific attributes
92
- if (!finalObj["oneuptime"]) {
93
- finalObj["oneuptime"] = {};
80
+ return finalObj;
81
+ }
82
+ static getAttributeValues(prefixKeysWithString, value) {
83
+ var _a;
84
+ let finalObj = null;
85
+ value = value;
86
+ if (value["stringValue"]) {
87
+ finalObj = value["stringValue"];
88
+ }
89
+ else if (value["intValue"]) {
90
+ finalObj = value["intValue"];
91
+ }
92
+ else if (value["doubleValue"]) {
93
+ finalObj = value["doubleValue"];
94
94
  }
95
- if (!finalObj["oneuptime"]["telemetry"]) {
96
- finalObj["oneuptime"]["telemetry"] = {};
95
+ else if (value["boolValue"]) {
96
+ finalObj = value["boolValue"];
97
97
  }
98
- if (!finalObj["oneuptime"]["telemetry"]["service"]) {
99
- finalObj["oneuptime"]["telemetry"]["service"] = {};
98
+ else if (value["arrayValue"] &&
99
+ value["arrayValue"]["values"]) {
100
+ const values = value["arrayValue"]["values"];
101
+ finalObj = values.map((v) => {
102
+ return this.getAttributeValues(prefixKeysWithString, v);
103
+ });
100
104
  }
101
- if (data.telemetryServiceId) {
102
- finalObj["oneuptime"]["telemetry"]["service"]["id"] = data.telemetryServiceId.toString();
105
+ else if (value["mapValue"] &&
106
+ value["mapValue"]["fields"]) {
107
+ const fields = (_a = value["mapValue"]) === null || _a === void 0 ? void 0 : _a["fields"];
108
+ const flattenedFields = {};
109
+ for (const key in fields) {
110
+ const prefixKey = `${prefixKeysWithString}.${key}`;
111
+ const nestedValue = this.getAttributeValues(prefixKey, fields[key]);
112
+ if (typeof nestedValue === "object" && nestedValue !== null) {
113
+ for (const nestedKey in nestedValue) {
114
+ flattenedFields[`${prefixKey}.${nestedKey}`] = nestedValue[nestedKey];
115
+ }
116
+ }
117
+ else {
118
+ flattenedFields[prefixKey] = nestedValue;
119
+ }
120
+ }
121
+ finalObj = flattenedFields;
122
+ }
123
+ // kvlistValue
124
+ else if (value["kvlistValue"] &&
125
+ value["kvlistValue"]["values"]) {
126
+ const values = value["kvlistValue"]["values"];
127
+ finalObj = this.getAttributes({
128
+ prefixKeysWithString,
129
+ items: values,
130
+ });
103
131
  }
104
- if (data.telemetryServiceName) {
105
- finalObj["oneuptime"]["telemetry"]["service"]["name"] = data.telemetryServiceName;
132
+ else if (value["nullValue"]) {
133
+ finalObj = null;
106
134
  }
107
- return JSONFunctions.flattenObject(finalObj);
135
+ return finalObj;
108
136
  }
109
137
  }
110
138
  __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"Telemetry.js","sourceRoot":"","sources":["../../../../../Server/Utils/Telemetry/Telemetry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Telemetry.js","sourceRoot":"","sources":["../../../../../Server/Utils/Telemetry/Telemetry.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oneuptime/common",
3
- "version": "7.0.3876",
3
+ "version": "7.0.3887",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -77,7 +77,7 @@
77
77
  "airtable": "^0.12.2",
78
78
  "axios": "^1.7.2",
79
79
  "bullmq": "^5.3.3",
80
- "Common": "npm:@oneuptime/common@7.0.3876",
80
+ "Common": "npm:@oneuptime/common@7.0.3887",
81
81
  "cookie-parser": "^1.4.7",
82
82
  "cors": "^2.8.5",
83
83
  "cron-parser": "^4.8.1",