@coralogix/rum-cli 1.1.37 → 1.1.41
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.
- package/README.md +1 -1
- package/api/base/base.api.ts +27 -30
- package/api/source-maps/source-maps.api.ts +78 -0
- package/cli/commands/source-maps/upload-source-maps-command.ts +3 -2
- package/consts/consts.ts +1 -0
- package/dist/api/base/base.api.d.ts +9 -7
- package/dist/api/base/base.api.js +14 -19
- package/dist/api/source-maps/source-maps.api.d.ts +5 -2
- package/dist/api/source-maps/source-maps.api.js +57 -3
- package/dist/cli/commands/source-maps/upload-source-maps-command.js +4 -3
- package/dist/consts/consts.js +3 -2
- package/dist/grpc-client/grpc-client-factory.d.ts +72 -0
- package/dist/models/source-maps-commands.model.d.ts +1 -0
- package/dist/models/source-maps-commands.model.js +1 -1
- package/dist/proto-models/com/coralogix/blobset/v2/blobset_query_service.d.ts +150 -0
- package/dist/proto-models/com/coralogix/blobset/v2/blobset_query_service.js +29 -1
- package/dist/proto-models/com/coralogix/blobset/v2/case_file.d.ts +36 -0
- package/dist/proto-models/com/coralogix/blobset/v2/case_file.js +161 -0
- package/dist/proto-models/com/coralogix/blobset/v2/dsym.d.ts +1 -0
- package/dist/proto-models/com/coralogix/blobset/v2/dsym.js +33 -3
- package/dist/proto-models/com/coralogix/blobset/v2/entity_metadata.d.ts +31 -0
- package/dist/proto-models/com/coralogix/blobset/v2/entity_metadata.js +215 -7
- package/dist/proto-models/com/coralogix/blobset/v2/entity_type.d.ts +3 -1
- package/dist/proto-models/com/coralogix/blobset/v2/entity_type.js +13 -1
- package/dist/proto-models/com/coralogix/blobset/v2/investigation_file.d.ts +36 -0
- package/dist/proto-models/com/coralogix/blobset/v2/investigation_file.js +161 -0
- package/dist/proto-models/com/coralogix/blobset/v2/proguard.d.ts +68 -0
- package/dist/proto-models/com/coralogix/blobset/v2/proguard.js +400 -0
- package/dist/proto-models/com/coralogix/rum/v2/application_releases.d.ts +38 -0
- package/dist/proto-models/com/coralogix/rum/v2/application_releases.js +180 -0
- package/dist/proto-models/com/coralogix/rum/v2/merge_error.d.ts +38 -0
- package/dist/proto-models/com/coralogix/rum/v2/merge_error.js +171 -0
- package/dist/proto-models/com/coralogix/rum/v2/release_entity_metadata.d.ts +4 -0
- package/dist/proto-models/com/coralogix/rum/v2/release_entity_metadata.js +93 -9
- package/dist/proto-models/com/coralogix/rum/v2/rum_merge_erros_service.d.ts +197 -0
- package/dist/proto-models/com/coralogix/rum/v2/rum_merge_erros_service.js +478 -0
- package/dist/proto-models/com/coralogix/rum/v2/rum_service.d.ts +107 -0
- package/dist/proto-models/com/coralogix/rum/v2/rum_service.js +385 -2
- package/dist/proto-models/com/coralogix/rum/v2/rum_source_map_service.d.ts +46 -0
- package/dist/proto-models/com/coralogix/rum/v2/rum_source_map_service.js +142 -2
- package/dist/proto-models/com/coralogix/rum/v2/saved_filter.d.ts +4 -1
- package/dist/proto-models/com/coralogix/rum/v2/saved_filter.js +19 -1
- package/dist/proto-models/com/coralogix/rum/v2/template.d.ts +2 -0
- package/dist/proto-models/com/coralogix/rum/v2/template.js +31 -3
- package/dist/services/base/base.service.js +2 -2
- package/dist/services/source-maps/source-maps.service.d.ts +1 -0
- package/dist/services/source-maps/source-maps.service.js +23 -1
- package/dist/utils/file-processor.utils.js +16 -12
- package/models/source-maps-commands.model.ts +1 -0
- package/package.json +3 -3
- package/proto-models/com/coralogix/blobset/v2/blobset_query_service.ts +28 -0
- package/proto-models/com/coralogix/blobset/v2/case_file.ts +188 -0
- package/proto-models/com/coralogix/blobset/v2/dsym.ts +35 -1
- package/proto-models/com/coralogix/blobset/v2/entity_metadata.ts +243 -1
- package/proto-models/com/coralogix/blobset/v2/entity_type.ts +12 -0
- package/proto-models/com/coralogix/blobset/v2/investigation_file.ts +188 -0
- package/proto-models/com/coralogix/blobset/v2/proguard.ts +466 -0
- package/proto-models/com/coralogix/rum/v2/application_releases.ts +213 -0
- package/proto-models/com/coralogix/rum/v2/merge_error.ts +201 -0
- package/proto-models/com/coralogix/rum/v2/release_entity_metadata.ts +96 -4
- package/proto-models/com/coralogix/rum/v2/rum_merge_erros_service.ts +566 -0
- package/proto-models/com/coralogix/rum/v2/rum_service.ts +462 -0
- package/proto-models/com/coralogix/rum/v2/rum_source_map_service.ts +164 -0
- package/proto-models/com/coralogix/rum/v2/saved_filter.ts +18 -0
- package/proto-models/com/coralogix/rum/v2/template.ts +33 -1
- package/protofetch.lock +4 -4
- package/protofetch.toml +2 -2
- package/protos/com/coralogix/blobset/v2/blobset_query_service.proto +7 -0
- package/protos/com/coralogix/blobset/v2/case_file.proto +12 -0
- package/protos/com/coralogix/blobset/v2/dsym.proto +1 -0
- package/protos/com/coralogix/blobset/v2/entity_metadata.proto +14 -1
- package/protos/com/coralogix/blobset/v2/entity_type.proto +3 -1
- package/protos/com/coralogix/blobset/v2/investigation_file.proto +12 -0
- package/protos/com/coralogix/blobset/v2/proguard.proto +30 -0
- package/protos/com/coralogix/rum/v2/application_releases.proto +14 -0
- package/protos/com/coralogix/rum/v2/merge_error.proto +13 -0
- package/protos/com/coralogix/rum/v2/release_entity_metadata.proto +7 -0
- package/protos/com/coralogix/rum/v2/rum_merge_erros_service.proto +42 -0
- package/protos/com/coralogix/rum/v2/rum_service.proto +23 -0
- package/protos/com/coralogix/rum/v2/rum_source_map_service.proto +11 -0
- package/protos/com/coralogix/rum/v2/saved_filter.proto +3 -0
- package/protos/com/coralogix/rum/v2/template.proto +2 -0
- package/protoset.bin +0 -0
- package/services/base/base.service.ts +1 -2
- package/services/source-maps/source-maps.service.ts +26 -0
- package/utils/file-processor.utils.ts +14 -12
|
@@ -14,6 +14,9 @@ export enum Page {
|
|
|
14
14
|
PAGE_ERROR_TRACKING = 1,
|
|
15
15
|
PAGE_USER_SESSION = 2,
|
|
16
16
|
PAGE_WEB_VITALS = 3,
|
|
17
|
+
PAGE_NETWORK_PERFORMANCE = 4,
|
|
18
|
+
PAGE_MEASUREMENTS = 5,
|
|
19
|
+
PAGE_VERSIONS = 6,
|
|
17
20
|
}
|
|
18
21
|
|
|
19
22
|
export function pageFromJSON(object: any): Page {
|
|
@@ -30,6 +33,15 @@ export function pageFromJSON(object: any): Page {
|
|
|
30
33
|
case 3:
|
|
31
34
|
case "PAGE_WEB_VITALS":
|
|
32
35
|
return Page.PAGE_WEB_VITALS;
|
|
36
|
+
case 4:
|
|
37
|
+
case "PAGE_NETWORK_PERFORMANCE":
|
|
38
|
+
return Page.PAGE_NETWORK_PERFORMANCE;
|
|
39
|
+
case 5:
|
|
40
|
+
case "PAGE_MEASUREMENTS":
|
|
41
|
+
return Page.PAGE_MEASUREMENTS;
|
|
42
|
+
case 6:
|
|
43
|
+
case "PAGE_VERSIONS":
|
|
44
|
+
return Page.PAGE_VERSIONS;
|
|
33
45
|
default:
|
|
34
46
|
throw new globalThis.Error("Unrecognized enum value " + object + " for enum Page");
|
|
35
47
|
}
|
|
@@ -45,6 +57,12 @@ export function pageToJSON(object: Page): string {
|
|
|
45
57
|
return "PAGE_USER_SESSION";
|
|
46
58
|
case Page.PAGE_WEB_VITALS:
|
|
47
59
|
return "PAGE_WEB_VITALS";
|
|
60
|
+
case Page.PAGE_NETWORK_PERFORMANCE:
|
|
61
|
+
return "PAGE_NETWORK_PERFORMANCE";
|
|
62
|
+
case Page.PAGE_MEASUREMENTS:
|
|
63
|
+
return "PAGE_MEASUREMENTS";
|
|
64
|
+
case Page.PAGE_VERSIONS:
|
|
65
|
+
return "PAGE_VERSIONS";
|
|
48
66
|
default:
|
|
49
67
|
throw new globalThis.Error("Unrecognized enum value " + object + " for enum Page");
|
|
50
68
|
}
|
|
@@ -80,6 +80,8 @@ export interface TemplateDate {
|
|
|
80
80
|
templateId: string;
|
|
81
81
|
createdAt: number;
|
|
82
82
|
updatedAt: number;
|
|
83
|
+
applicationName?: string | undefined;
|
|
84
|
+
applicationVersion?: string | undefined;
|
|
83
85
|
}
|
|
84
86
|
|
|
85
87
|
function createBaseFilter(): Filter {
|
|
@@ -471,7 +473,7 @@ export const TemplateResult = {
|
|
|
471
473
|
};
|
|
472
474
|
|
|
473
475
|
function createBaseTemplateDate(): TemplateDate {
|
|
474
|
-
return { templateId: "", createdAt: 0, updatedAt: 0 };
|
|
476
|
+
return { templateId: "", createdAt: 0, updatedAt: 0, applicationName: undefined, applicationVersion: undefined };
|
|
475
477
|
}
|
|
476
478
|
|
|
477
479
|
export const TemplateDate = {
|
|
@@ -485,6 +487,12 @@ export const TemplateDate = {
|
|
|
485
487
|
if (message.updatedAt !== 0) {
|
|
486
488
|
writer.uint32(24).int64(message.updatedAt);
|
|
487
489
|
}
|
|
490
|
+
if (message.applicationName !== undefined) {
|
|
491
|
+
writer.uint32(34).string(message.applicationName);
|
|
492
|
+
}
|
|
493
|
+
if (message.applicationVersion !== undefined) {
|
|
494
|
+
writer.uint32(42).string(message.applicationVersion);
|
|
495
|
+
}
|
|
488
496
|
return writer;
|
|
489
497
|
},
|
|
490
498
|
|
|
@@ -516,6 +524,20 @@ export const TemplateDate = {
|
|
|
516
524
|
|
|
517
525
|
message.updatedAt = longToNumber(reader.int64() as Long);
|
|
518
526
|
continue;
|
|
527
|
+
case 4:
|
|
528
|
+
if (tag !== 34) {
|
|
529
|
+
break;
|
|
530
|
+
}
|
|
531
|
+
|
|
532
|
+
message.applicationName = reader.string();
|
|
533
|
+
continue;
|
|
534
|
+
case 5:
|
|
535
|
+
if (tag !== 42) {
|
|
536
|
+
break;
|
|
537
|
+
}
|
|
538
|
+
|
|
539
|
+
message.applicationVersion = reader.string();
|
|
540
|
+
continue;
|
|
519
541
|
}
|
|
520
542
|
if ((tag & 7) === 4 || tag === 0) {
|
|
521
543
|
break;
|
|
@@ -530,6 +552,8 @@ export const TemplateDate = {
|
|
|
530
552
|
templateId: isSet(object.templateId) ? globalThis.String(object.templateId) : "",
|
|
531
553
|
createdAt: isSet(object.createdAt) ? globalThis.Number(object.createdAt) : 0,
|
|
532
554
|
updatedAt: isSet(object.updatedAt) ? globalThis.Number(object.updatedAt) : 0,
|
|
555
|
+
applicationName: isSet(object.applicationName) ? globalThis.String(object.applicationName) : undefined,
|
|
556
|
+
applicationVersion: isSet(object.applicationVersion) ? globalThis.String(object.applicationVersion) : undefined,
|
|
533
557
|
};
|
|
534
558
|
},
|
|
535
559
|
|
|
@@ -544,6 +568,12 @@ export const TemplateDate = {
|
|
|
544
568
|
if (message.updatedAt !== 0) {
|
|
545
569
|
obj.updatedAt = Math.round(message.updatedAt);
|
|
546
570
|
}
|
|
571
|
+
if (message.applicationName !== undefined) {
|
|
572
|
+
obj.applicationName = message.applicationName;
|
|
573
|
+
}
|
|
574
|
+
if (message.applicationVersion !== undefined) {
|
|
575
|
+
obj.applicationVersion = message.applicationVersion;
|
|
576
|
+
}
|
|
547
577
|
return obj;
|
|
548
578
|
},
|
|
549
579
|
|
|
@@ -555,6 +585,8 @@ export const TemplateDate = {
|
|
|
555
585
|
message.templateId = object.templateId ?? "";
|
|
556
586
|
message.createdAt = object.createdAt ?? 0;
|
|
557
587
|
message.updatedAt = object.updatedAt ?? 0;
|
|
588
|
+
message.applicationName = object.applicationName ?? undefined;
|
|
589
|
+
message.applicationVersion = object.applicationVersion ?? undefined;
|
|
558
590
|
return message;
|
|
559
591
|
},
|
|
560
592
|
};
|
package/protofetch.lock
CHANGED
|
@@ -4,12 +4,12 @@ version = 2
|
|
|
4
4
|
name = "cx-api-blobset"
|
|
5
5
|
url = "github.com/coralogix/cx-api-blobset"
|
|
6
6
|
protocol = "ssh"
|
|
7
|
-
revision = "v0.0.
|
|
8
|
-
commit_hash = "
|
|
7
|
+
revision = "v0.0.23"
|
|
8
|
+
commit_hash = "5510f193140e6eb270d8bdfe817af5a7841252e7"
|
|
9
9
|
|
|
10
10
|
[[dependencies]]
|
|
11
11
|
name = "cx-api-rum"
|
|
12
12
|
url = "github.com/coralogix/cx-api-rum"
|
|
13
13
|
protocol = "ssh"
|
|
14
|
-
revision = "v0.
|
|
15
|
-
commit_hash = "
|
|
14
|
+
revision = "v0.9.2"
|
|
15
|
+
commit_hash = "1750da54c66b6a7b46794472d8c6b23870c1a696"
|
package/protofetch.toml
CHANGED
|
@@ -3,10 +3,10 @@ proto_out_dir = 'protos'
|
|
|
3
3
|
|
|
4
4
|
[cx-api-rum]
|
|
5
5
|
url = "github.com/coralogix/cx-api-rum"
|
|
6
|
-
revision = "v0.
|
|
6
|
+
revision = "v0.9.2"
|
|
7
7
|
protocol = "ssh"
|
|
8
8
|
|
|
9
9
|
[cx-api-blobset]
|
|
10
10
|
url = 'github.com/coralogix/cx-api-blobset'
|
|
11
|
-
revision = 'v0.0.
|
|
11
|
+
revision = 'v0.0.23'
|
|
12
12
|
protocol = 'ssh'
|
|
@@ -3,10 +3,17 @@ syntax = "proto3";
|
|
|
3
3
|
package com.coralogix.blobset.v2;
|
|
4
4
|
|
|
5
5
|
import "com/coralogix/blobset/v2/dsym.proto";
|
|
6
|
+
import "com/coralogix/blobset/v2/proguard.proto";
|
|
6
7
|
import "com/coralogix/blobset/v2/source_map.proto";
|
|
8
|
+
import "com/coralogix/blobset/v2/investigation_file.proto";
|
|
9
|
+
import "com/coralogix/blobset/v2/case_file.proto";
|
|
7
10
|
|
|
8
11
|
service BlobSetQueryService {
|
|
9
12
|
// RUM
|
|
10
13
|
rpc GetMappedIosStackTrace(GetMappedIosStackTraceRequest) returns (GetMappedIosStackTraceResponse) {}
|
|
14
|
+
rpc GetMappedAndroidStackTrace(GetMappedAndroidStackTraceRequest) returns (GetMappedAndroidStackTraceResponse) {}
|
|
11
15
|
rpc GetSourceMapsChunks(GetSourceMapsChunksRequest) returns (GetSourceMapsChunksResponse) {}
|
|
16
|
+
// INVESTIGATION
|
|
17
|
+
rpc GetInvestigationFile(GetInvestigationFileRequest) returns (GetInvestigationFileResponse) {}
|
|
18
|
+
rpc GetCaseFile(GetCaseFileRequest) returns (GetCaseFileResponse) {}
|
|
12
19
|
}
|
|
@@ -24,6 +24,17 @@ message SourceMapMetadata {
|
|
|
24
24
|
optional string commit_hash = 3;
|
|
25
25
|
optional string repo_name = 4;
|
|
26
26
|
optional string org_name = 5;
|
|
27
|
+
optional int32 internal_version = 6;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
message InvestigationFileMetadata {
|
|
31
|
+
string file_id = 1;
|
|
32
|
+
string file_name = 2;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
message CaseFileMetadata {
|
|
36
|
+
string file_id = 1;
|
|
37
|
+
string file_name = 2;
|
|
27
38
|
}
|
|
28
39
|
|
|
29
40
|
message EntityMetadata {
|
|
@@ -31,5 +42,7 @@ message EntityMetadata {
|
|
|
31
42
|
DsymMetadata dsym_metadata = 1;
|
|
32
43
|
SourceMapMetadata source_map_metadata = 2;
|
|
33
44
|
ProguardMetadata proguard_metadata = 3;
|
|
45
|
+
InvestigationFileMetadata investigation_file_metadata = 4;
|
|
46
|
+
CaseFileMetadata case_file_metadata = 5;
|
|
34
47
|
}
|
|
35
|
-
}
|
|
48
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
syntax = "proto3";
|
|
2
|
+
|
|
3
|
+
package com.coralogix.blobset.v2;
|
|
4
|
+
|
|
5
|
+
message StackFrame {
|
|
6
|
+
string class_name = 1;
|
|
7
|
+
string function_name = 2;
|
|
8
|
+
int32 line_number = 3;
|
|
9
|
+
optional string file_name = 4;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
message StackFrameMapping {
|
|
13
|
+
StackFrame original_frame = 1;
|
|
14
|
+
StackFrame mapped_frame = 2;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
message GetMappedAndroidStackTraceRequest {
|
|
18
|
+
string application = 1;
|
|
19
|
+
string release_id = 2;
|
|
20
|
+
repeated StackFrame stack_frames = 3;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
message GetMappedAndroidStackTraceResponse {
|
|
24
|
+
string application = 1;
|
|
25
|
+
string release_id = 2;
|
|
26
|
+
repeated StackFrameMapping mapped_stack_frames = 3;
|
|
27
|
+
optional string commit_hash = 4;
|
|
28
|
+
optional string repo_name = 5;
|
|
29
|
+
optional string user = 6;
|
|
30
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
syntax = "proto3";
|
|
2
|
+
|
|
3
|
+
package com.coralogix.rum.v2;
|
|
4
|
+
|
|
5
|
+
message ApplicationReleaseEntity {
|
|
6
|
+
string app_name = 1;
|
|
7
|
+
string app_version = 2;
|
|
8
|
+
int64 creation_date = 3;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
message CurrentPreviousReleases {
|
|
12
|
+
string current = 1;
|
|
13
|
+
string previous = 2;
|
|
14
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
syntax = "proto3";
|
|
2
|
+
package com.coralogix.rum.v2;
|
|
3
|
+
|
|
4
|
+
message MergeErrors {
|
|
5
|
+
string id = 1;
|
|
6
|
+
MergeErrorInfo merge_error_info = 2;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
message MergeErrorInfo {
|
|
10
|
+
repeated string template_ids = 1;
|
|
11
|
+
string description = 2;
|
|
12
|
+
string primary_template_id = 3;
|
|
13
|
+
}
|
|
@@ -8,6 +8,7 @@ message DsymMetadata {
|
|
|
8
8
|
optional string commit_hash = 3;
|
|
9
9
|
optional string repo_name = 4;
|
|
10
10
|
optional string org_name = 5;
|
|
11
|
+
optional int32 internal_version = 6;
|
|
11
12
|
}
|
|
12
13
|
|
|
13
14
|
message SourceMapMetadata {
|
|
@@ -16,6 +17,8 @@ message SourceMapMetadata {
|
|
|
16
17
|
optional string commit_hash = 3;
|
|
17
18
|
optional string repo_name = 4;
|
|
18
19
|
optional string org_name = 5;
|
|
20
|
+
optional int32 internal_version = 6;
|
|
21
|
+
|
|
19
22
|
}
|
|
20
23
|
|
|
21
24
|
message ReactNativeMetadata {
|
|
@@ -24,6 +27,8 @@ message ReactNativeMetadata {
|
|
|
24
27
|
optional string commit_hash = 3;
|
|
25
28
|
optional string repo_name = 4;
|
|
26
29
|
optional string org_name = 5;
|
|
30
|
+
optional int32 internal_version = 6;
|
|
31
|
+
|
|
27
32
|
}
|
|
28
33
|
|
|
29
34
|
message ProguardMetadata {
|
|
@@ -32,6 +37,8 @@ message ProguardMetadata {
|
|
|
32
37
|
optional string commit_hash = 3;
|
|
33
38
|
optional string repo_name = 4;
|
|
34
39
|
optional string org_name = 5;
|
|
40
|
+
optional int32 internal_version = 6;
|
|
41
|
+
|
|
35
42
|
}
|
|
36
43
|
|
|
37
44
|
message ReleaseEntityMetadata {
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
syntax = "proto3";
|
|
2
|
+
import "com/coralogix/rum/v2/merge_error.proto";
|
|
3
|
+
package com.coralogix.rum.v2;
|
|
4
|
+
|
|
5
|
+
message CreateMergeErrorsRequest {
|
|
6
|
+
MergeErrorInfo merge_error_info = 1;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
message CreateMergeErrorsResponse {
|
|
10
|
+
MergeErrors merge_errors = 1;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
message DeleteMergeErrorsRequest {
|
|
14
|
+
repeated string ids = 1;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
message DeleteMergeErrorsResponse {
|
|
18
|
+
repeated string ids = 1;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
message UpdateMergeErrorsRequest {
|
|
22
|
+
MergeErrors merge_errors = 1;
|
|
23
|
+
|
|
24
|
+
}
|
|
25
|
+
message UpdateMergeErrorsResponse {
|
|
26
|
+
MergeErrors merge_errors = 1;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
message GetMergeErrorsRequest {
|
|
30
|
+
optional string id = 1;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
message GetMergeErrorsResponse {
|
|
34
|
+
repeated MergeErrors merge_errors = 1;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
service RumMergeErrorsService {
|
|
38
|
+
rpc CreateMergeErrors(CreateMergeErrorsRequest) returns (CreateMergeErrorsResponse) {}
|
|
39
|
+
rpc DeleteMergeErrors(DeleteMergeErrorsRequest) returns (DeleteMergeErrorsResponse) {}
|
|
40
|
+
rpc UpdateMergeErrors(UpdateMergeErrorsRequest) returns (UpdateMergeErrorsResponse) {}
|
|
41
|
+
rpc GetMergeErrors(GetMergeErrorsRequest) returns (GetMergeErrorsResponse) {}
|
|
42
|
+
}
|
|
@@ -6,6 +6,7 @@ import "com/coralogix/rum/v2/source_map_release.proto";
|
|
|
6
6
|
import "com/coralogix/rum/v2/template.proto";
|
|
7
7
|
import "com/coralogix/rum/v2/analytics.proto";
|
|
8
8
|
import "com/coralogix/rum/v2/rum_sdk_versions.proto";
|
|
9
|
+
import "com/coralogix/rum/v2/application_releases.proto";
|
|
9
10
|
|
|
10
11
|
message GetMappedStackTraceRequest {
|
|
11
12
|
string application = 1;
|
|
@@ -22,6 +23,17 @@ message GetMappedStackTraceResponse {
|
|
|
22
23
|
optional string user = 6;
|
|
23
24
|
}
|
|
24
25
|
|
|
26
|
+
message GetSourcemapChunksRequest {
|
|
27
|
+
string application = 1;
|
|
28
|
+
string release_id = 2;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
message GetSourcemapChunksResponse {
|
|
32
|
+
string application = 1;
|
|
33
|
+
string release_id = 2;
|
|
34
|
+
repeated string chunks = 3;
|
|
35
|
+
}
|
|
36
|
+
|
|
25
37
|
|
|
26
38
|
message GetMappedStackTraceReactNativeRequest {
|
|
27
39
|
string application = 1;
|
|
@@ -129,6 +141,15 @@ message GetSdkVersionsResponse {
|
|
|
129
141
|
repeated ApplicationData applications = 1;
|
|
130
142
|
}
|
|
131
143
|
|
|
144
|
+
message GetApplicationReleasesRequest {
|
|
145
|
+
repeated string applications = 1;
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
message GetApplicationReleasesResponse {
|
|
149
|
+
repeated ApplicationReleaseEntity releases = 1;
|
|
150
|
+
map<string, CurrentPreviousReleases> application_to_latest_releases = 2;
|
|
151
|
+
}
|
|
152
|
+
|
|
132
153
|
service RumService {
|
|
133
154
|
rpc GetMappedStackTrace(GetMappedStackTraceRequest) returns (GetMappedStackTraceResponse) {}
|
|
134
155
|
rpc GetRumTemplates(GetRumTemplatesRequest) returns (GetRumTemplatesResponse) {}
|
|
@@ -141,4 +162,6 @@ service RumService {
|
|
|
141
162
|
rpc IdentifyStacktraceIssue(IdentifyStacktraceIssueRequest) returns ( IdentifyStacktraceIssueResponse) {}
|
|
142
163
|
rpc CreateUnitTestsBasedOnStacktrace(CreateUnitTestsBasedOnStacktraceRequest) returns ( CreateUnitTestsBasedOnStacktraceResponse) {}
|
|
143
164
|
rpc GetSdkVersions(GetSdkVersionsRequest) returns (GetSdkVersionsResponse) {}
|
|
165
|
+
rpc GetApplicationReleases(GetApplicationReleasesRequest) returns (GetApplicationReleasesResponse) {}
|
|
166
|
+
rpc GetSourcemapChunks(GetSourcemapChunksRequest) returns (GetSourcemapChunksResponse) {}
|
|
144
167
|
}
|
|
@@ -49,10 +49,21 @@ message IsEntityReleaseExistsResponse {
|
|
|
49
49
|
bool exists = 1;
|
|
50
50
|
}
|
|
51
51
|
|
|
52
|
+
message GetLatestInternalVersionRequest {
|
|
53
|
+
string application = 1;
|
|
54
|
+
string release_id = 2;
|
|
55
|
+
ReleaseEntityType release_entity_type = 3;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
message GetLatestInternalVersionResponse {
|
|
59
|
+
optional int32 latest_version = 1;
|
|
60
|
+
}
|
|
61
|
+
|
|
52
62
|
service RumSourceMapService {
|
|
53
63
|
rpc UploadSourceMaps(UploadSourceMapsRequest) returns (UploadSourceMapsResponse) {}
|
|
54
64
|
rpc UpdateSourceMap(UpdateSourceMapRequest) returns (UpdateSourceMapResponse) {}
|
|
55
65
|
rpc DeleteSourceMap(DeleteSourceMapRequest) returns (DeleteSourceMapResponse) {}
|
|
56
66
|
rpc CreateEntityRelease(CreateEntityReleaseRequest) returns (CreateEntityReleaseResponse) {}
|
|
57
67
|
rpc IsEntityReleaseExists(IsEntityReleaseExistsRequest) returns (IsEntityReleaseExistsResponse) {}
|
|
68
|
+
rpc GetLatestInternalVersion(GetLatestInternalVersionRequest) returns (GetLatestInternalVersionResponse) {}
|
|
58
69
|
}
|
package/protoset.bin
CHANGED
|
Binary file
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { UploadBlobRequest } from '../../proto-models/com/coralogix/blobset/v2/blobset_service';
|
|
2
2
|
import { GRAY_COLOR, GREEN_COLOR } from '../../consts/consts';
|
|
3
|
-
import { consoleError } from '../../utils/shared.utils';
|
|
4
3
|
import { BaseApi } from '../../api/base/base.api';
|
|
5
4
|
|
|
6
5
|
export abstract class BaseService {
|
|
@@ -22,7 +21,7 @@ export abstract class BaseService {
|
|
|
22
21
|
const request: UploadBlobRequest = UploadBlobRequest.create();
|
|
23
22
|
const api: BaseApi = this.getApi();
|
|
24
23
|
|
|
25
|
-
console.log(GRAY_COLOR, `🚀 Uploading ${this.getLogPrefix()}
|
|
24
|
+
console.log(GRAY_COLOR, `🚀 Uploading ${this.getLogPrefix()}... (${new Date().toUTCString()})`);
|
|
26
25
|
|
|
27
26
|
try {
|
|
28
27
|
await this.getFileProcessorMethod()(folderPath, request, this.getFileExtension());
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { SourceMapsApi } from '../../api/source-maps/source-maps.api';
|
|
2
2
|
import { FileProcessor } from '../../utils/file-processor.utils';
|
|
3
3
|
import { BaseService } from '../base/base.service';
|
|
4
|
+
import { UploadBlobRequest } from '../../proto-models/com/coralogix/blobset/v2/blobset_service';
|
|
5
|
+
import { GRAY_COLOR, GREEN_COLOR } from '../../consts/consts';
|
|
4
6
|
|
|
5
7
|
export class SourceMapsService extends BaseService {
|
|
6
8
|
protected getApi() {
|
|
@@ -18,4 +20,28 @@ export class SourceMapsService extends BaseService {
|
|
|
18
20
|
protected getFileExtension() {
|
|
19
21
|
return '.js.map';
|
|
20
22
|
}
|
|
23
|
+
|
|
24
|
+
async upload(
|
|
25
|
+
application: string,
|
|
26
|
+
version: string,
|
|
27
|
+
repoName: string | undefined,
|
|
28
|
+
commitHash: string | undefined,
|
|
29
|
+
orgName: string | undefined,
|
|
30
|
+
folderPath: string,
|
|
31
|
+
env: string,
|
|
32
|
+
privateKey: string,
|
|
33
|
+
override = false,
|
|
34
|
+
): Promise<void> {
|
|
35
|
+
const request: UploadBlobRequest = UploadBlobRequest.create();
|
|
36
|
+
const api: SourceMapsApi = this.getApi();
|
|
37
|
+
|
|
38
|
+
console.log(GRAY_COLOR, `🚀 ${override ? 'Replacing' : 'Uploading'} ${this.getLogPrefix()}... (${new Date().toUTCString()})`);
|
|
39
|
+
|
|
40
|
+
await this.getFileProcessorMethod()(folderPath, request, this.getFileExtension());
|
|
41
|
+
|
|
42
|
+
await api.upload(request, application, version, repoName, commitHash, orgName, env, privateKey, override);
|
|
43
|
+
|
|
44
|
+
console.log(GREEN_COLOR, `✅ ${this.getLogPrefix()} ${override ? 'replaced' : 'uploaded'} successfully!`);
|
|
45
|
+
console.log(GREEN_COLOR, '✅ Processing complete.');
|
|
46
|
+
}
|
|
21
47
|
}
|
|
@@ -4,6 +4,8 @@ import * as path from 'path';
|
|
|
4
4
|
import { consoleError } from './shared.utils';
|
|
5
5
|
import { UploadBlobRequest } from '../proto-models/com/coralogix/blobset/v2/blobset_service';
|
|
6
6
|
import * as zlib from 'node:zlib';
|
|
7
|
+
import assert from 'node:assert';
|
|
8
|
+
|
|
7
9
|
|
|
8
10
|
const { readdir, stat, readFile } = fsPromises;
|
|
9
11
|
|
|
@@ -79,16 +81,12 @@ export class FileProcessor {
|
|
|
79
81
|
}
|
|
80
82
|
|
|
81
83
|
static async traverse(folderPath: string, request: UploadBlobRequest, fileExtension: string): Promise<void> {
|
|
82
|
-
|
|
83
|
-
const stats = await stat(folderPath);
|
|
84
|
+
const stats = await stat(folderPath);
|
|
84
85
|
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
}
|
|
90
|
-
} catch (error) {
|
|
91
|
-
consoleError(`Error traversing directory: ${error}`);
|
|
86
|
+
if (stats.isFile() && folderPath.endsWith(fileExtension)) {
|
|
87
|
+
return await this.processSingleFile(folderPath, request, fileExtension);
|
|
88
|
+
} else if (stats.isDirectory()) {
|
|
89
|
+
return await this.processDirectory(folderPath, request, fileExtension);
|
|
92
90
|
}
|
|
93
91
|
}
|
|
94
92
|
|
|
@@ -114,7 +112,7 @@ export class FileProcessor {
|
|
|
114
112
|
}
|
|
115
113
|
|
|
116
114
|
private static async processDirectory(folderPath: string, request: UploadBlobRequest, fileExtension: string): Promise<void> {
|
|
117
|
-
const fileDataList: { name: string; content: string }[] = [];
|
|
115
|
+
const fileDataList: { name: string; size: number; content: string }[] = [];
|
|
118
116
|
|
|
119
117
|
const traverseDirectory = async (currentPath: string): Promise<void> => {
|
|
120
118
|
const files = await readdir(currentPath, { withFileTypes: true });
|
|
@@ -125,7 +123,8 @@ export class FileProcessor {
|
|
|
125
123
|
if (dirent.isFile() && dirent.name.endsWith(fileExtension)) {
|
|
126
124
|
const content = await readFile(filePath);
|
|
127
125
|
const { name } = path.parse(filePath);
|
|
128
|
-
|
|
126
|
+
const {size} = await stat(filePath);
|
|
127
|
+
fileDataList.push({ name, size, content: content.toString('base64') });
|
|
129
128
|
} else if (dirent.isDirectory()) {
|
|
130
129
|
await traverseDirectory(filePath);
|
|
131
130
|
}
|
|
@@ -133,7 +132,10 @@ export class FileProcessor {
|
|
|
133
132
|
};
|
|
134
133
|
|
|
135
134
|
await traverseDirectory(folderPath);
|
|
136
|
-
|
|
135
|
+
// Assert that at least one file was found
|
|
136
|
+
assert(fileDataList.length > 0, `No files with extension ${fileExtension} found in the directory: 📁 ${folderPath}`);
|
|
137
|
+
console.log(`Found ${fileDataList.length} ${fileExtension} files in ${folderPath} directory.`);
|
|
138
|
+
fileDataList.forEach(file => console.log(`⛶ ${file.name}, Size: ${file.size} bytes`));
|
|
137
139
|
const compressedContent = zlib.gzipSync(Buffer.from(JSON.stringify(fileDataList)));
|
|
138
140
|
request.data = new Uint8Array(compressedContent);
|
|
139
141
|
}
|