@gitpod/gitpod-protocol 0.1.5-wth-test.41 → 0.1.5-wth-test.80

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 (140) hide show
  1. package/data/gitpod-schema.json +18 -3
  2. package/lib/admin-protocol.d.ts +12 -1
  3. package/lib/admin-protocol.d.ts.map +1 -1
  4. package/lib/admin-protocol.js.map +1 -1
  5. package/lib/analytics.d.ts +4 -5
  6. package/lib/analytics.d.ts.map +1 -1
  7. package/lib/context-url.d.ts +18 -5
  8. package/lib/context-url.d.ts.map +1 -1
  9. package/lib/context-url.js +58 -5
  10. package/lib/context-url.js.map +1 -1
  11. package/lib/context-url.spec.d.ts +2 -0
  12. package/lib/context-url.spec.d.ts.map +1 -1
  13. package/lib/context-url.spec.js +25 -4
  14. package/lib/context-url.spec.js.map +1 -1
  15. package/lib/gitpod-service.d.ts +33 -6
  16. package/lib/gitpod-service.d.ts.map +1 -1
  17. package/lib/gitpod-service.js +4 -2
  18. package/lib/gitpod-service.js.map +1 -1
  19. package/lib/ide-protocol.d.ts +105 -0
  20. package/lib/ide-protocol.d.ts.map +1 -0
  21. package/lib/ide-protocol.js +8 -0
  22. package/lib/ide-protocol.js.map +1 -0
  23. package/lib/index.d.ts +2 -0
  24. package/lib/index.d.ts.map +1 -1
  25. package/lib/index.js +2 -0
  26. package/lib/index.js.map +1 -1
  27. package/lib/installation-admin-protocol.d.ts +27 -0
  28. package/lib/installation-admin-protocol.d.ts.map +1 -0
  29. package/lib/installation-admin-protocol.js +30 -0
  30. package/lib/installation-admin-protocol.js.map +1 -0
  31. package/lib/messaging/error.d.ts +1 -0
  32. package/lib/messaging/error.d.ts.map +1 -1
  33. package/lib/messaging/error.js +2 -0
  34. package/lib/messaging/error.js.map +1 -1
  35. package/lib/messaging/node/connection.d.ts +1 -17
  36. package/lib/messaging/node/connection.d.ts.map +1 -1
  37. package/lib/messaging/node/connection.js +21 -57
  38. package/lib/messaging/node/connection.js.map +1 -1
  39. package/lib/oss-allowlist.d.ts +14 -0
  40. package/lib/oss-allowlist.d.ts.map +1 -0
  41. package/lib/oss-allowlist.js +8 -0
  42. package/lib/oss-allowlist.js.map +1 -0
  43. package/lib/permission.d.ts +7 -1
  44. package/lib/permission.d.ts.map +1 -1
  45. package/lib/permission.js +24 -4
  46. package/lib/permission.js.map +1 -1
  47. package/lib/protocol.d.ts +28 -40
  48. package/lib/protocol.d.ts.map +1 -1
  49. package/lib/protocol.js +16 -4
  50. package/lib/protocol.js.map +1 -1
  51. package/lib/teams-projects-protocol.d.ts +10 -0
  52. package/lib/teams-projects-protocol.d.ts.map +1 -1
  53. package/lib/teams-projects-protocol.js +7 -0
  54. package/lib/teams-projects-protocol.js.map +1 -1
  55. package/lib/util/analytics.js +12 -3
  56. package/lib/util/analytics.js.map +1 -1
  57. package/lib/util/garbage-collected-cache.d.ts +1 -0
  58. package/lib/util/garbage-collected-cache.d.ts.map +1 -1
  59. package/lib/util/garbage-collected-cache.js +5 -1
  60. package/lib/util/garbage-collected-cache.js.map +1 -1
  61. package/lib/util/generate-workspace-id.d.ts +1 -1
  62. package/lib/util/generate-workspace-id.d.ts.map +1 -1
  63. package/lib/util/generate-workspace-id.js +19 -2
  64. package/lib/util/generate-workspace-id.js.map +1 -1
  65. package/lib/util/generate-workspace-id.spec.js +24 -0
  66. package/lib/util/generate-workspace-id.spec.js.map +1 -1
  67. package/lib/util/gitpod-host-url.d.ts +0 -1
  68. package/lib/util/gitpod-host-url.d.ts.map +1 -1
  69. package/lib/util/gitpod-host-url.js +3 -6
  70. package/lib/util/gitpod-host-url.js.map +1 -1
  71. package/lib/util/jaeger-client-types.d.ts +68 -0
  72. package/lib/util/jaeger-client-types.d.ts.map +1 -0
  73. package/lib/util/jaeger-client-types.js +8 -0
  74. package/lib/util/jaeger-client-types.js.map +1 -0
  75. package/lib/util/parse-workspace-id.js +1 -1
  76. package/lib/util/parse-workspace-id.js.map +1 -1
  77. package/lib/util/repeat.d.ts +15 -0
  78. package/lib/util/repeat.d.ts.map +1 -0
  79. package/lib/util/repeat.js +55 -0
  80. package/lib/util/repeat.js.map +1 -0
  81. package/lib/util/tracing.d.ts +51 -5
  82. package/lib/util/tracing.d.ts.map +1 -1
  83. package/lib/util/tracing.js +156 -17
  84. package/lib/util/tracing.js.map +1 -1
  85. package/lib/util/tracing.spec.d.ts +7 -0
  86. package/lib/util/tracing.spec.d.ts.map +1 -0
  87. package/lib/util/tracing.spec.js +121 -0
  88. package/lib/util/tracing.spec.js.map +1 -0
  89. package/lib/workspace-cluster.d.ts +9 -7
  90. package/lib/workspace-cluster.d.ts.map +1 -1
  91. package/lib/workspace-cluster.js +18 -1
  92. package/lib/workspace-cluster.js.map +1 -1
  93. package/lib/workspace-instance.d.ts +19 -0
  94. package/lib/workspace-instance.d.ts.map +1 -1
  95. package/package.json +5 -3
  96. package/pkg-yarn.lock +2 -2
  97. package/provenance-bundle.jsonl +2 -0
  98. package/src/admin-protocol.ts +19 -5
  99. package/src/analytics.ts +4 -6
  100. package/src/context-url.spec.ts +18 -4
  101. package/src/context-url.ts +62 -6
  102. package/src/gitpod-service.ts +41 -10
  103. package/src/ide-frontend-service.ts +1 -1
  104. package/src/ide-protocol.ts +119 -0
  105. package/src/index.ts +2 -0
  106. package/src/installation-admin-protocol.ts +42 -0
  107. package/src/messaging/error.ts +3 -0
  108. package/src/messaging/node/connection.ts +21 -68
  109. package/src/oss-allowlist.ts +15 -0
  110. package/src/permission.ts +22 -3
  111. package/src/protocol.ts +45 -44
  112. package/src/teams-projects-protocol.ts +16 -1
  113. package/src/util/analytics.ts +21 -3
  114. package/src/util/garbage-collected-cache.ts +7 -1
  115. package/src/util/generate-workspace-id.spec.ts +17 -0
  116. package/src/util/generate-workspace-id.ts +20 -2
  117. package/src/util/gitpod-host-url.ts +4 -8
  118. package/src/util/jaeger-client-types.ts +102 -0
  119. package/src/util/parse-workspace-id.ts +1 -1
  120. package/src/util/repeat.ts +45 -0
  121. package/src/util/tracing.spec.ts +83 -0
  122. package/src/util/tracing.ts +183 -17
  123. package/src/workspace-cluster.ts +17 -9
  124. package/src/workspace-instance.ts +20 -0
  125. package/lib/messaging/connection-error-handler.d.ts +0 -27
  126. package/lib/messaging/connection-error-handler.d.ts.map +0 -1
  127. package/lib/messaging/connection-error-handler.js +0 -34
  128. package/lib/messaging/connection-error-handler.js.map +0 -1
  129. package/lib/util/repeater.d.ts +0 -22
  130. package/lib/util/repeater.d.ts.map +0 -1
  131. package/lib/util/repeater.js +0 -65
  132. package/lib/util/repeater.js.map +0 -1
  133. package/lib/util/safe-promise.d.ts +0 -11
  134. package/lib/util/safe-promise.d.ts.map +0 -1
  135. package/lib/util/safe-promise.js +0 -31
  136. package/lib/util/safe-promise.js.map +0 -1
  137. package/src/messaging/connection-error-handler.ts +0 -62
  138. package/src/util/jaeger-client.d.ts +0 -105
  139. package/src/util/repeater.ts +0 -49
  140. package/src/util/safe-promise.ts +0 -26
@@ -43,6 +43,24 @@ let TestGenerateWorkspaceId = class TestGenerateWorkspaceId {
43
43
  const longestName = `${longestColor}-${longestAnimal}-12345678`;
44
44
  expect(longestName.length <= 36, `"${longestName}" is longer than 36 chars (${longestName.length})`).to.be.true;
45
45
  }
46
+ testCustomName() {
47
+ return __awaiter(this, void 0, void 0, function* () {
48
+ const data = [
49
+ ['foo', 'bar', 'foo-bar-'],
50
+ ['f', 'bar', '.{2,16}-bar-'],
51
+ ['gitpod-io', 'gitpod', 'gitpodio-gitpod-'],
52
+ ['this is rather long and has some "§$"% special chars', 'also here pretty long and needs abbreviation', 'thisisratherlon-alsohere-'],
53
+ ['breatheco-de', 'python-flask-api-tutorial', 'breathecode-pythonflaska-'],
54
+ ['UPPER', "CaSe", "upper-case-"]
55
+ ];
56
+ for (const d of data) {
57
+ const id = yield (0, generate_workspace_id_1.generateWorkspaceID)(d[0], d[1]);
58
+ expect(id).match(new RegExp("^" + d[2]));
59
+ expect(new gitpod_host_url_1.GitpodHostUrl().withWorkspacePrefix(id, "eu").workspaceId).to.equal(id);
60
+ expect(id.length <= 36, `"${id}" is longer than 36 chars (${id.length})`).to.be.true;
61
+ }
62
+ });
63
+ }
46
64
  };
47
65
  __decorate([
48
66
  mocha_typescript_1.test,
@@ -56,6 +74,12 @@ __decorate([
56
74
  __metadata("design:paramtypes", []),
57
75
  __metadata("design:returntype", void 0)
58
76
  ], TestGenerateWorkspaceId.prototype, "testLongestName", null);
77
+ __decorate([
78
+ mocha_typescript_1.test,
79
+ __metadata("design:type", Function),
80
+ __metadata("design:paramtypes", []),
81
+ __metadata("design:returntype", Promise)
82
+ ], TestGenerateWorkspaceId.prototype, "testCustomName", null);
59
83
  TestGenerateWorkspaceId = __decorate([
60
84
  mocha_typescript_1.suite
61
85
  ], TestGenerateWorkspaceId);
@@ -1 +1 @@
1
- {"version":3,"file":"generate-workspace-id.spec.js","sourceRoot":"","sources":["../../src/util/generate-workspace-id.spec.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;;;;;;;;;AAEH,uDAA8C;AAC9C,6BAA4B;AAC5B,mEAA+E;AAC/E,uDAAkD;AAElD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;AAEnB,IAAM,uBAAuB,GAA7B,MAAM,uBAAuB;IAEb,uBAAuB;;YACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;gBAC1B,MAAM,EAAE,GAAG,MAAM,IAAA,2CAAmB,GAAE,CAAC;gBACvC,MAAM,CAAC,IAAI,+BAAa,EAAE,CAAC,mBAAmB,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;aACtF;QACL,CAAC;KAAA;IAEY,eAAe;QACxB,MAAM,YAAY,GAAG,8BAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QACnE,MAAM,aAAa,GAAG,+BAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QACrE,MAAM,WAAW,GAAG,GAAG,YAAY,IAAI,aAAa,WAAW,CAAC;QAChE,MAAM,CAAC,WAAW,CAAC,MAAM,IAAI,EAAE,EAAE,IAAI,WAAW,8BAA8B,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;IACpH,CAAC;CAEJ,CAAA;AAdS;IAAL,uBAAI;;;;sEAKJ;AAEK;IAAL,uBAAI;;;;8DAKJ;AAdQ,uBAAuB;IAAnC,wBAAK;GAAO,uBAAuB,CAgBnC;AACD,MAAM,CAAC,OAAO,GAAG,IAAI,uBAAuB,EAAE,CAAA"}
1
+ {"version":3,"file":"generate-workspace-id.spec.js","sourceRoot":"","sources":["../../src/util/generate-workspace-id.spec.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;;;;;;;;;AAEH,uDAA8C;AAC9C,6BAA4B;AAC5B,mEAA+E;AAC/E,uDAAkD;AAElD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;AAEnB,IAAM,uBAAuB,GAA7B,MAAM,uBAAuB;IAEb,uBAAuB;;YACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;gBAC1B,MAAM,EAAE,GAAG,MAAM,IAAA,2CAAmB,GAAE,CAAC;gBACvC,MAAM,CAAC,IAAI,+BAAa,EAAE,CAAC,mBAAmB,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;aACtF;QACL,CAAC;KAAA;IAEY,eAAe;QACxB,MAAM,YAAY,GAAG,8BAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QACnE,MAAM,aAAa,GAAG,+BAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QACrE,MAAM,WAAW,GAAG,GAAG,YAAY,IAAI,aAAa,WAAW,CAAC;QAChE,MAAM,CAAC,WAAW,CAAC,MAAM,IAAI,EAAE,EAAE,IAAI,WAAW,8BAA8B,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;IACpH,CAAC;IAEkB,cAAc;;YAC7B,MAAM,IAAI,GAAG;gBACT,CAAC,KAAK,EAAC,KAAK,EAAC,UAAU,CAAC;gBACxB,CAAC,GAAG,EAAC,KAAK,EAAC,cAAc,CAAC;gBAC1B,CAAC,WAAW,EAAC,QAAQ,EAAC,kBAAkB,CAAC;gBACzC,CAAC,sDAAsD,EAAC,8CAA8C,EAAC,2BAA2B,CAAC;gBACnI,CAAC,cAAc,EAAE,2BAA2B,EAAE,2BAA2B,CAAC;gBAC1E,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,CAAC;aACnC,CAAA;YACD,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE;gBAClB,MAAM,EAAE,GAAG,MAAM,IAAA,2CAAmB,EAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACjD,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,GAAG,GAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACvC,MAAM,CAAC,IAAI,+BAAa,EAAE,CAAC,mBAAmB,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBACnF,MAAM,CAAC,EAAE,CAAC,MAAM,IAAI,EAAE,EAAE,IAAI,EAAE,8BAA8B,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;aACxF;QACL,CAAC;KAAA;CAEJ,CAAA;AA/BS;IAAL,uBAAI;;;;sEAKJ;AAEK;IAAL,uBAAI;;;;8DAKJ;AAEK;IAAL,uBAAI;;;;6DAeJ;AA/BQ,uBAAuB;IAAnC,wBAAK;GAAO,uBAAuB,CAiCnC;AACD,MAAM,CAAC,OAAO,GAAG,IAAI,uBAAuB,EAAE,CAAA"}
@@ -25,7 +25,6 @@ export declare class GitpodHostUrl {
25
25
  asAccessControl(): GitpodHostUrl;
26
26
  asSettings(): GitpodHostUrl;
27
27
  asPreferences(): GitpodHostUrl;
28
- asGraphQLApi(): GitpodHostUrl;
29
28
  asStart(workspaceId?: string | undefined): GitpodHostUrl;
30
29
  asWorkspaceAuth(instanceID: string, redirect?: boolean): GitpodHostUrl;
31
30
  toString(): string;
@@ -1 +1 @@
1
- {"version":3,"file":"gitpod-host-url.d.ts","sourceRoot":"","sources":["../../src/util/gitpod-host-url.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,MAAM,WAAW,SAAS;IACtB,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;CAC3B;AACD,oBAAY,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;AAUjD,qBAAa,aAAa;IACtB,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;gBAEN,QAAQ,CAAC,EAAE,MAAM,GAAG,GAAG;IAanC,MAAM,CAAC,gBAAgB,CAAC,GAAG,EAAE,MAAM;IAInC,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAIvD,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa;IAI/C,sBAAsB,IAAI,aAAa;IASvC,mBAAmB,CAAC,mBAAmB,EAAE,MAAM,GAAG,aAAa;IAI/D,IAAI,CAAC,SAAS,EAAE,SAAS;IAUzB,OAAO,CAAC,SAAS,CAAC,EAAE,SAAS;IAK7B,WAAW,CAAC,UAAU,EAAE,MAAM;IAI9B,WAAW,IAAI,aAAa;IAI5B,WAAW,IAAI,aAAa;IAI5B,OAAO,IAAI,aAAa;IAIxB,qBAAqB,IAAI,aAAa;IAItC,eAAe,IAAI,aAAa;IAIhC,UAAU,IAAI,aAAa;IAI3B,aAAa,IAAI,aAAa;IAI9B,YAAY,IAAI,aAAa;IAI7B,OAAO,CAAC,WAAW,qBAAmB,GAAG,aAAa;IAOtD,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,aAAa;IAItE,QAAQ;IAIR,mBAAmB;IAQnB,IAAI,WAAW,IAAI,MAAM,GAAG,SAAS,CAiBpC;IAED,IAAI,SAAS,IAAI,OAAO,CAQvB;IAED,OAAO,CAAC,OAAO,EAAE,MAAM;IAIvB,WAAW,IAAI,aAAa;CAI/B"}
1
+ {"version":3,"file":"gitpod-host-url.d.ts","sourceRoot":"","sources":["../../src/util/gitpod-host-url.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,MAAM,WAAW,SAAS;IACtB,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;CAC3B;AACD,oBAAY,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;AAUjD,qBAAa,aAAa;IACtB,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;gBAEN,QAAQ,CAAC,EAAE,MAAM,GAAG,GAAG;IAanC,MAAM,CAAC,gBAAgB,CAAC,GAAG,EAAE,MAAM;IAInC,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAIvD,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa;IAI/C,sBAAsB,IAAI,aAAa;IASvC,mBAAmB,CAAC,mBAAmB,EAAE,MAAM,GAAG,aAAa;IAI/D,IAAI,CAAC,SAAS,EAAE,SAAS;IAUzB,OAAO,CAAC,SAAS,CAAC,EAAE,SAAS;IAK7B,WAAW,CAAC,UAAU,EAAE,MAAM;IAI9B,WAAW,IAAI,aAAa;IAI5B,WAAW,IAAI,aAAa;IAI5B,OAAO,IAAI,aAAa;IAIxB,qBAAqB,IAAI,aAAa;IAItC,eAAe,IAAI,aAAa;IAIhC,UAAU,IAAI,aAAa;IAI3B,aAAa,IAAI,aAAa;IAI9B,OAAO,CAAC,WAAW,qBAAmB,GAAG,aAAa;IAOtD,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,aAAa;IAItE,QAAQ;IAIR,mBAAmB;IAQnB,IAAI,WAAW,IAAI,MAAM,GAAG,SAAS,CAiBpC;IAED,IAAI,SAAS,IAAI,OAAO,CAQvB;IAED,OAAO,CAAC,OAAO,EAAE,MAAM;IAIvB,WAAW,IAAI,aAAa;CAI/B"}
@@ -8,11 +8,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
8
8
  exports.GitpodHostUrl = void 0;
9
9
  const URL = require('url').URL || window.URL;
10
10
  const logging_1 = require("./logging");
11
- const basewoWkspaceIDRegex = "(([a-f][0-9a-f]{7}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})|([0-9a-z]{2,16}-[0-9a-z]{2,16}-[0-9a-z]{8}))";
11
+ const baseWorkspaceIDRegex = "(([a-f][0-9a-f]{7}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})|([0-9a-z]{2,16}-[0-9a-z]{2,16}-[0-9a-z]{8,11}))";
12
12
  // this pattern matches v4 UUIDs as well as the new generated workspace ids (e.g. pink-panda-ns35kd21)
13
- const workspaceIDRegex = RegExp(`^${basewoWkspaceIDRegex}$`);
13
+ const workspaceIDRegex = RegExp(`^${baseWorkspaceIDRegex}$`);
14
14
  // this pattern matches URL prefixes of workspaces
15
- const workspaceUrlPrefixRegex = RegExp(`^([0-9]{4,6}-)?${basewoWkspaceIDRegex}\\.`);
15
+ const workspaceUrlPrefixRegex = RegExp(`^([0-9]{4,6}-)?${baseWorkspaceIDRegex}\\.`);
16
16
  class GitpodHostUrl {
17
17
  constructor(urlParam) {
18
18
  if (urlParam === undefined || typeof urlParam === 'string') {
@@ -85,9 +85,6 @@ class GitpodHostUrl {
85
85
  asPreferences() {
86
86
  return this.with(url => ({ pathname: '/preferences' }));
87
87
  }
88
- asGraphQLApi() {
89
- return this.with(url => ({ pathname: '/graphql/' }));
90
- }
91
88
  asStart(workspaceId = this.workspaceId) {
92
89
  return this.withoutWorkspacePrefix().with({
93
90
  pathname: '/start/',
@@ -1 +1 @@
1
- {"version":3,"file":"gitpod-host-url.js","sourceRoot":"","sources":["../../src/util/gitpod-host-url.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gitpod-host-url.js","sourceRoot":"","sources":["../../src/util/gitpod-host-url.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,68 @@
1
+ /**
2
+ * Copyright (c) 2020 Gitpod GmbH. All rights reserved.
3
+ * Licensed under the GNU Affero General Public License (AGPL).
4
+ * See License-AGPL.txt in the project root for license information.
5
+ */
6
+ import { opentracing } from "jaeger-client";
7
+ export interface TracingConfig {
8
+ serviceName?: string;
9
+ disable?: boolean;
10
+ sampler?: SamplerConfig;
11
+ reporter?: ReporterConfig;
12
+ }
13
+ export interface TracingOptions {
14
+ reporter?: Reporter;
15
+ metrics?: MetricsFactory;
16
+ logger?: Logger;
17
+ tags?: any;
18
+ }
19
+ export interface ReporterConfig {
20
+ logSpans?: boolean;
21
+ agentHost?: string;
22
+ agentPort?: number;
23
+ flushIntervalMs?: number;
24
+ }
25
+ export interface SamplerConfig {
26
+ type: string;
27
+ param: number;
28
+ host?: string;
29
+ port?: number;
30
+ refreshIntervalMs?: number;
31
+ }
32
+ export interface Logger {
33
+ info(msg: string): void;
34
+ error(msg: string): void;
35
+ }
36
+ export interface Reporter {
37
+ report(span: opentracing.Span): void;
38
+ close(callback?: () => void): void;
39
+ setProcess(serviceName: string, tags: any): void;
40
+ }
41
+ export interface MetricsFactory {
42
+ createCounter(name: string, tags: any): Counter;
43
+ createTimer(name: string, tags: any): Timer;
44
+ createGauge(name: string, tags: any): Gauge;
45
+ }
46
+ export interface Counter {
47
+ increment(delta: number): void;
48
+ }
49
+ export interface Timer {
50
+ record(value: number): void;
51
+ }
52
+ export interface Gauge {
53
+ update(value: number): void;
54
+ }
55
+ export interface SamplingDecision {
56
+ sample: boolean;
57
+ retryable: boolean;
58
+ tags: any;
59
+ }
60
+ export interface Sampler {
61
+ name(): string;
62
+ isSampled(operation: string, tags: any): boolean;
63
+ onCreateSpan(span: opentracing.Span): SamplingDecision;
64
+ onSetOperationName(span: opentracing.Span, operationName: string): SamplingDecision;
65
+ onSetTag(span: opentracing.Span, key: string, value: any): SamplingDecision;
66
+ close(callback: () => void): void;
67
+ }
68
+ //# sourceMappingURL=jaeger-client-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jaeger-client-types.d.ts","sourceRoot":"","sources":["../../src/util/jaeger-client-types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAO5C,MAAM,WAAW,aAAa;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,QAAQ,CAAC,EAAE,cAAc,CAAC;CAC7B;AAED,MAAM,WAAW,cAAc;IAC3B,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,GAAG,CAAC;CACd;AAED,MAAM,WAAW,cAAc;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,aAAa;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,MAAM;IACnB,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED,MAAM,WAAW,QAAQ;IACrB,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI,GAAG,IAAI,CAAC;IACrC,KAAK,CAAC,QAAQ,CAAC,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC;IACnC,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,IAAI,CAAC;CACpD;AAED,MAAM,WAAW,cAAc;IAC3B,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC;IAChD,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,KAAK,CAAC;IAC5C,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,KAAK,CAAC;CAC/C;AAGD,MAAM,WAAW,OAAO;IAEpB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CAClC;AAGD,MAAM,WAAW,KAAK;IAElB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B;AAGD,MAAM,WAAW,KAAK;IAElB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B;AAYD,MAAM,WAAW,gBAAgB;IAC7B,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,GAAG,CAAC;CACb;AAGD,MAAM,WAAW,OAAO;IACpB,IAAI,IAAI,MAAM,CAAA;IACd,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC;IACjD,YAAY,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI,GAAG,gBAAgB,CAAC;IACvD,kBAAkB,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI,EAAE,aAAa,EAAE,MAAM,GAAG,gBAAgB,CAAC;IACpF,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,gBAAgB,CAAC;IAC5E,KAAK,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI,CAAA;CACpC"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ /**
3
+ * Copyright (c) 2020 Gitpod GmbH. All rights reserved.
4
+ * Licensed under the GNU Affero General Public License (AGPL).
5
+ * See License-AGPL.txt in the project root for license information.
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ //# sourceMappingURL=jaeger-client-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jaeger-client-types.js","sourceRoot":"","sources":["../../src/util/jaeger-client-types.ts"],"names":[],"mappings":";AAAA;;;;GAIG"}
@@ -6,7 +6,7 @@
6
6
  */
7
7
  Object.defineProperty(exports, "__esModule", { value: true });
8
8
  exports.matchesNewWorkspaceIdExactly = exports.matchesInstanceIdOrLegacyWorkspaceIdExactly = exports.parseWorkspaceIdFromHostname = void 0;
9
- const REGEX_WORKSPACE_ID = /[0-9a-z]{2,16}-[0-9a-z]{2,16}-[0-9a-z]{8}/;
9
+ const REGEX_WORKSPACE_ID = /[0-9a-z]{2,16}-[0-9a-z]{2,16}-[0-9a-z]{8,11}/;
10
10
  const REGEX_WORKSPACE_ID_EXACT = new RegExp(`^${REGEX_WORKSPACE_ID.source}$`);
11
11
  // We need to parse the workspace id precisely here to get the case '<some-str>-<port>-<wsid>.ws.' right
12
12
  const REGEX_WORKSPACE_ID_FROM_HOSTNAME = new RegExp(`(${REGEX_WORKSPACE_ID.source})\.ws`);
@@ -1 +1 @@
1
- {"version":3,"file":"parse-workspace-id.js","sourceRoot":"","sources":["../../src/util/parse-workspace-id.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,MAAM,kBAAkB,GAAG,2CAA2C,CAAC;AACvE,MAAM,wBAAwB,GAAG,IAAI,MAAM,CAAC,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAC;AAC9E,wGAAwG;AACxG,MAAM,gCAAgC,GAAG,IAAI,MAAM,CAAC,IAAI,kBAAkB,CAAC,MAAM,OAAO,CAAC,CAAC;AAE1F,MAAM,yBAAyB,GAAG,8DAA8D,CAAC;AACjG,MAAM,+BAA+B,GAAG,IAAI,MAAM,CAAC,IAAI,yBAAyB,CAAC,MAAM,GAAG,CAAC,CAAC;AAC5F,MAAM,uCAAuC,GAAG,IAAI,MAAM,CAAC,IAAI,yBAAyB,CAAC,MAAM,OAAO,CAAC,CAAC;AAExG;;;;;;GAMG;AACI,MAAM,4BAA4B,GAAG,UAAS,QAAgB;IACjE,MAAM,KAAK,GAAG,gCAAgC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC9D,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE;QAC5B,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;KACnB;SAAM;QACH,MAAM,WAAW,GAAG,uCAAuC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC3E,IAAI,WAAW,IAAI,WAAW,CAAC,MAAM,IAAI,CAAC,EAAE;YACxC,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC;SACzB;QACD,OAAO,SAAS,CAAC;KACpB;AACL,CAAC,CAAC;AAXW,QAAA,4BAA4B,gCAWvC;AAEF,sDAAsD;AACtD,MAAM,iBAAiB,GAAG,8DAA8D,CAAC;AACzF,MAAM,uBAAuB,GAAG,IAAI,MAAM,CAAC,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC;AAE5E;;;GAGG;AACI,MAAM,2CAA2C,GAAG,UAAS,OAAe;IAC/E,OAAO,uBAAuB,CAAC,IAAI,CAAC,OAAO,CAAC;WACrC,+BAA+B,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACzD,CAAC,CAAC;AAHW,QAAA,2CAA2C,+CAGtD;AAEF;;;GAGG;AACI,MAAM,4BAA4B,GAAG,UAAS,gBAAwB;IACzE,OAAO,wBAAwB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;AAC3D,CAAC,CAAC;AAFW,QAAA,4BAA4B,gCAEvC"}
1
+ {"version":3,"file":"parse-workspace-id.js","sourceRoot":"","sources":["../../src/util/parse-workspace-id.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,MAAM,kBAAkB,GAAG,8CAA8C,CAAC;AAC1E,MAAM,wBAAwB,GAAG,IAAI,MAAM,CAAC,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAC;AAC9E,wGAAwG;AACxG,MAAM,gCAAgC,GAAG,IAAI,MAAM,CAAC,IAAI,kBAAkB,CAAC,MAAM,OAAO,CAAC,CAAC;AAE1F,MAAM,yBAAyB,GAAG,8DAA8D,CAAC;AACjG,MAAM,+BAA+B,GAAG,IAAI,MAAM,CAAC,IAAI,yBAAyB,CAAC,MAAM,GAAG,CAAC,CAAC;AAC5F,MAAM,uCAAuC,GAAG,IAAI,MAAM,CAAC,IAAI,yBAAyB,CAAC,MAAM,OAAO,CAAC,CAAC;AAExG;;;;;;GAMG;AACI,MAAM,4BAA4B,GAAG,UAAS,QAAgB;IACjE,MAAM,KAAK,GAAG,gCAAgC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC9D,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE;QAC5B,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;KACnB;SAAM;QACH,MAAM,WAAW,GAAG,uCAAuC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC3E,IAAI,WAAW,IAAI,WAAW,CAAC,MAAM,IAAI,CAAC,EAAE;YACxC,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC;SACzB;QACD,OAAO,SAAS,CAAC;KACpB;AACL,CAAC,CAAC;AAXW,QAAA,4BAA4B,gCAWvC;AAEF,sDAAsD;AACtD,MAAM,iBAAiB,GAAG,8DAA8D,CAAC;AACzF,MAAM,uBAAuB,GAAG,IAAI,MAAM,CAAC,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC;AAE5E;;;GAGG;AACI,MAAM,2CAA2C,GAAG,UAAS,OAAe;IAC/E,OAAO,uBAAuB,CAAC,IAAI,CAAC,OAAO,CAAC;WACrC,+BAA+B,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACzD,CAAC,CAAC;AAHW,QAAA,2CAA2C,+CAGtD;AAEF;;;GAGG;AACI,MAAM,4BAA4B,GAAG,UAAS,gBAAwB;IACzE,OAAO,wBAAwB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;AAC3D,CAAC,CAAC;AAFW,QAAA,4BAA4B,gCAEvC"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Copyright (c) 2021 Gitpod GmbH. All rights reserved.
3
+ * Licensed under the GNU Affero General Public License (AGPL).
4
+ * See License-AGPL.txt in the project root for license information.
5
+ */
6
+ import { Disposable } from "..";
7
+ /**
8
+ * This intends to be a drop-in replacement for 'setInterval' implemented with a 'setTimeout' chain
9
+ * to ensure we're not creating more timeouts than we can process.
10
+ * @param op
11
+ * @param everyMilliseconds
12
+ * @returns
13
+ */
14
+ export declare function repeat(op: () => Promise<void> | void, everyMilliseconds: number): Disposable;
15
+ //# sourceMappingURL=repeat.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repeat.d.ts","sourceRoot":"","sources":["../../src/util/repeat.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAGhC;;;;;;GAMG;AACH,wBAAgB,MAAM,CAAC,EAAE,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,EAAE,iBAAiB,EAAE,MAAM,GAAG,UAAU,CA4B5F"}
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ /**
3
+ * Copyright (c) 2021 Gitpod GmbH. All rights reserved.
4
+ * Licensed under the GNU Affero General Public License (AGPL).
5
+ * See License-AGPL.txt in the project root for license information.
6
+ */
7
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
8
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
9
+ return new (P || (P = Promise))(function (resolve, reject) {
10
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
11
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
12
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
13
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
14
+ });
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.repeat = void 0;
18
+ const __1 = require("..");
19
+ const logging_1 = require("./logging");
20
+ /**
21
+ * This intends to be a drop-in replacement for 'setInterval' implemented with a 'setTimeout' chain
22
+ * to ensure we're not creating more timeouts than we can process.
23
+ * @param op
24
+ * @param everyMilliseconds
25
+ * @returns
26
+ */
27
+ function repeat(op, everyMilliseconds) {
28
+ let timer = undefined;
29
+ let stopped = false;
30
+ const repeated = () => {
31
+ if (stopped) {
32
+ // in case we missed the clearTimeout i 'await'
33
+ return;
34
+ }
35
+ timer = setTimeout(() => __awaiter(this, void 0, void 0, function* () {
36
+ try {
37
+ yield op();
38
+ }
39
+ catch (err) {
40
+ // catch error here to
41
+ logging_1.log.error(err);
42
+ }
43
+ repeated(); // chain ourselves - after the 'await'
44
+ }), everyMilliseconds);
45
+ };
46
+ repeated();
47
+ return __1.Disposable.create(() => {
48
+ stopped = true;
49
+ if (timer) {
50
+ clearTimeout(timer);
51
+ }
52
+ });
53
+ }
54
+ exports.repeat = repeat;
55
+ //# sourceMappingURL=repeat.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repeat.js","sourceRoot":"","sources":["../../src/util/repeat.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;AAEH,0BAAgC;AAChC,uCAAgC;AAEhC;;;;;;GAMG;AACH,SAAgB,MAAM,CAAC,EAA8B,EAAE,iBAAyB;IAC5E,IAAI,KAAK,GAA+B,SAAS,CAAC;IAClD,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,MAAM,QAAQ,GAAG,GAAG,EAAE;QAClB,IAAI,OAAO,EAAE;YACT,+CAA+C;YAC/C,OAAO;SACV;QAED,KAAK,GAAG,UAAU,CAAC,GAAS,EAAE;YAC1B,IAAI;gBACA,MAAM,EAAE,EAAE,CAAC;aACd;YAAC,OAAO,GAAG,EAAE;gBACV,sBAAsB;gBACtB,aAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;aAClB;YAED,QAAQ,EAAE,CAAC,CAAC,sCAAsC;QACtD,CAAC,CAAA,EAAE,iBAAiB,CAAC,CAAC;IAC1B,CAAC,CAAC;IACF,QAAQ,EAAE,CAAC;IAEX,OAAO,cAAU,CAAC,MAAM,CAAC,GAAG,EAAE;QAC1B,OAAO,GAAG,IAAI,CAAC;QACf,IAAI,KAAK,EAAE;YACP,YAAY,CAAC,KAAK,CAAC,CAAC;SACvB;IACL,CAAC,CAAC,CAAC;AACP,CAAC;AA5BD,wBA4BC"}
@@ -4,18 +4,58 @@
4
4
  * See License-AGPL.txt in the project root for license information.
5
5
  */
6
6
  import * as opentracing from 'opentracing';
7
- import { Sampler, SamplingDecision } from 'jaeger-client';
7
+ import { Sampler, SamplingDecision } from './jaeger-client-types';
8
+ import { ResponseError } from 'vscode-jsonrpc';
9
+ import { LogContext } from './logging';
8
10
  export interface TraceContext {
9
11
  span?: opentracing.Span;
10
12
  }
13
+ export declare type TraceContextWithSpan = TraceContext & {
14
+ span: opentracing.Span;
15
+ };
11
16
  export declare namespace TraceContext {
12
- function startSpan(operation: string, ctx: TraceContext): opentracing.Span;
13
- function startAsyncSpan(operation: string, ctx: TraceContext): opentracing.Span;
14
- function logError(ctx: TraceContext, err: Error): void;
17
+ function startSpan(operation: string, parentCtx?: TraceContext): opentracing.Span;
18
+ function childContext(operation: string, parentCtx: TraceContext): TraceContextWithSpan;
19
+ function withSpan(operation: string, callback: (ctx: TraceContext) => void, ctx?: TraceContext): void;
20
+ function setError(ctx: TraceContext, err: Error): void;
21
+ function setJsonRPCMetadata(ctx: TraceContext, method?: string): void;
22
+ function setJsonRPCError(ctx: TraceContext, method: string, err: ResponseError<any>, withStatusCode?: boolean): void;
23
+ function addJsonRPCParameters(ctx: TraceContext, params: {
24
+ [key: string]: any;
25
+ }): void;
26
+ /**
27
+ * Does what one would expect from `span.addTags`: Calls `span.addTag` for all keys in map, recursively for objects.
28
+ * Example:
29
+ * ```
30
+ * TraceContext.addNestedTags(ctx, {
31
+ * rpc: {
32
+ * system: "jsonrpc",
33
+ * jsonrpc: {
34
+ * version: "1.0",
35
+ * method: "test",
36
+ * parameters: ["abc", "def"],
37
+ * },
38
+ * },
39
+ * });
40
+ * ```
41
+ * gives
42
+ * rpc.system = "jsonrpc"
43
+ * rpc.jsonrpc.version = "1.0"
44
+ * rpc.jsonrpc.method = "test"
45
+ * rpc.jsonrpc.parameters.0 = "abc"
46
+ * rpc.jsonrpc.parameters.1 = "def"
47
+ * @param ctx
48
+ * @param keyValueMap
49
+ * @returns
50
+ */
51
+ function addNestedTags(ctx: TraceContext, keyValueMap: {
52
+ [key: string]: any;
53
+ }, _namespace?: string): void;
54
+ function setOWI(ctx: TraceContext, owi: LogContext): void;
15
55
  }
16
56
  export declare class TracingManager {
17
57
  setup(serviceName: string, opts?: CustomTracerOpts): void;
18
- getTracerForService(serviceName: string, opts?: CustomTracerOpts): opentracing.Tracer;
58
+ getTracerForService(serviceName: string, opts?: CustomTracerOpts): import("jaeger-client").JaegerTracer;
19
59
  }
20
60
  export interface CustomTracerOpts {
21
61
  perOpSampling?: PerOperationSampling;
@@ -36,4 +76,10 @@ export declare class PerOperationSampler implements Sampler {
36
76
  equal(other: Sampler): boolean;
37
77
  close(callback: () => void): void;
38
78
  }
79
+ declare type IsValidArg<T> = T extends object ? keyof T extends never ? false : true : true;
80
+ declare type AddTraceContext<T> = T extends (a: infer A, b: infer B, c: infer C, d: infer D, e: infer E, f: infer F) => infer R ? (IsValidArg<F> extends true ? (ctx: TraceContextWithSpan, a: A, b: B, c: C, d: D, e: E, f: F) => R : IsValidArg<E> extends true ? (ctx: TraceContextWithSpan, a: A, b: B, c: C, d: D, e: E) => R : IsValidArg<D> extends true ? (ctx: TraceContextWithSpan, a: A, b: B, c: C, d: D) => R : IsValidArg<C> extends true ? (ctx: TraceContextWithSpan, a: A, b: B, c: C) => R : IsValidArg<B> extends true ? (ctx: TraceContextWithSpan, a: A, b: B) => R : IsValidArg<A> extends true ? (ctx: TraceContextWithSpan, a: A) => R : (ctx: TraceContextWithSpan) => Promise<R>) : never;
81
+ export declare type InterfaceWithTraceContext<T> = {
82
+ [P in keyof T]: AddTraceContext<T[P]>;
83
+ };
84
+ export {};
39
85
  //# sourceMappingURL=tracing.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tracing.d.ts","sourceRoot":"","sources":["../../src/util/tracing.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,WAAW,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAoC,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAI5F,MAAM,WAAW,YAAY;IACzB,IAAI,CAAC,EAAE,WAAW,CAAC,IAAI,CAAA;CAC1B;AAED,yBAAiB,YAAY,CAAC;IAC1B,SAAgB,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY,GAAG,WAAW,CAAC,IAAI,CAKhF;IAED,SAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY,GAAG,WAAW,CAAC,IAAI,CAMrF;IAED,SAAgB,QAAQ,CAAC,GAAG,EAAE,YAAY,EAAE,GAAG,EAAE,KAAK,QAUrD;CACJ;AAED,qBACa,cAAc;IAEhB,KAAK,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,gBAAgB;IAIlD,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,gBAAgB;CAmB1E;AAED,MAAM,WAAW,gBAAgB;IAC7B,aAAa,CAAC,EAAE,oBAAoB,CAAA;CACvC;AAID,MAAM,WAAW,oBAAoB;IACjC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACzB;AAED,qBAAa,mBAAoB,YAAW,OAAO;IACnC,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO;IAAE,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,oBAAoB;gBAAtE,QAAQ,EAAE,OAAO,EAAqB,UAAU,EAAE,oBAAoB;IAErG,IAAI,IAAI,MAAM;IAId,QAAQ,IAAI,MAAM;IAIlB,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,OAAO;IAYhD,YAAY,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI,GAAG,gBAAgB;IAOtD,kBAAkB,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI,EAAE,aAAa,EAAE,MAAM,GAAG,gBAAgB;IAMnF,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,gBAAgB;IAI3E,KAAK,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO;IAI9B,KAAK,CAAC,QAAQ,EAAE,MAAI,IAAI,GAAG,IAAI;CAMlC"}
1
+ {"version":3,"file":"tracing.d.ts","sourceRoot":"","sources":["../../src/util/tracing.ts"],"names":[],"mappings":"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"}
@@ -16,34 +16,169 @@ const opentracing = require("opentracing");
16
16
  const jaeger_client_1 = require("jaeger-client");
17
17
  const opentracing_1 = require("opentracing");
18
18
  const inversify_1 = require("inversify");
19
+ const logging_1 = require("./logging");
19
20
  var TraceContext;
20
21
  (function (TraceContext) {
21
- function startSpan(operation, ctx) {
22
- const options = {
23
- childOf: ctx.span
24
- };
22
+ function startSpan(operation, parentCtx) {
23
+ const options = {};
24
+ if (parentCtx && parentCtx.span && !!parentCtx.span.context().toSpanId()) {
25
+ options.childOf = parentCtx.span;
26
+ }
27
+ // TODO(gpl) references lead to a huge amount of errors in prod logs. Avoid those until we have time to figure out how to fix it.
28
+ // if (referencedSpans) {
29
+ // // note: allthough followsForm's type says it takes 'opentracing.Span | opentracing.SpanContext', it only works with SpanContext (typing mismatch)
30
+ // // note2: we need to filter out debug spans (spanId === "")
31
+ // options.references = referencedSpans.filter(s => s !== undefined)
32
+ // .filter(s => !!s!.context().toSpanId())
33
+ // .map(s => followsFrom(s!.context()));
34
+ // }
25
35
  return opentracing.globalTracer().startSpan(operation, options);
26
36
  }
27
37
  TraceContext.startSpan = startSpan;
28
- function startAsyncSpan(operation, ctx) {
29
- const options = {};
30
- if (!!ctx.span) {
31
- options.references = [opentracing.followsFrom(ctx.span.context())];
38
+ function childContext(operation, parentCtx) {
39
+ const span = startSpan(operation, parentCtx);
40
+ return { span };
41
+ }
42
+ TraceContext.childContext = childContext;
43
+ function withSpan(operation, callback, ctx) {
44
+ // if we don't have a parent span, don't create a trace here as those <trace-without-root-spans> are not useful.
45
+ if (!ctx || !ctx.span || !ctx.span.context()) {
46
+ callback({});
47
+ return;
48
+ }
49
+ const span = TraceContext.startSpan(operation, ctx);
50
+ try {
51
+ callback({ span });
52
+ }
53
+ catch (e) {
54
+ TraceContext.setError({ span }, e);
55
+ throw e;
56
+ }
57
+ finally {
58
+ span.finish();
32
59
  }
33
- return opentracing.globalTracer().startSpan(operation, options);
34
60
  }
35
- TraceContext.startAsyncSpan = startAsyncSpan;
36
- function logError(ctx, err) {
61
+ TraceContext.withSpan = withSpan;
62
+ function setError(ctx, err) {
37
63
  if (!ctx.span) {
38
64
  return;
39
65
  }
40
- ctx.span.log({
41
- "error": err.message,
42
- "stacktrace": err.stack
66
+ TraceContext.addNestedTags(ctx, {
67
+ error: {
68
+ message: err.message,
69
+ stacktrace: err.stack,
70
+ },
43
71
  });
44
72
  ctx.span.setTag("error", true);
45
73
  }
46
- TraceContext.logError = logError;
74
+ TraceContext.setError = setError;
75
+ function setJsonRPCMetadata(ctx, method) {
76
+ if (!ctx.span) {
77
+ return;
78
+ }
79
+ const tags = {
80
+ rpc: {
81
+ system: "jsonrpc",
82
+ // version,
83
+ },
84
+ };
85
+ if (method) {
86
+ tags.rpc.method = method;
87
+ }
88
+ addNestedTags(ctx, tags);
89
+ }
90
+ TraceContext.setJsonRPCMetadata = setJsonRPCMetadata;
91
+ function setJsonRPCError(ctx, method, err, withStatusCode = false) {
92
+ if (!ctx.span) {
93
+ return;
94
+ }
95
+ // not use setError bc this is (most likely) a working operation
96
+ setJsonRPCMetadata(ctx, method);
97
+ // https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/semantic_conventions/rpc.md#json-rpc
98
+ addNestedTags(ctx, {
99
+ rpc: {
100
+ jsonrpc: {
101
+ error_code: err.code,
102
+ error_message: err.message,
103
+ },
104
+ },
105
+ });
106
+ // the field "status_code" is used by honeycomb to derive insights like success rate, etc. Defaults to "0".
107
+ if (withStatusCode) {
108
+ ctx.span.setTag("status_code", err.code);
109
+ }
110
+ }
111
+ TraceContext.setJsonRPCError = setJsonRPCError;
112
+ function addJsonRPCParameters(ctx, params) {
113
+ if (!ctx.span) {
114
+ return;
115
+ }
116
+ setJsonRPCMetadata(ctx);
117
+ addNestedTags(ctx, {
118
+ rpc: {
119
+ jsonrpc: {
120
+ parameters: params,
121
+ },
122
+ },
123
+ });
124
+ }
125
+ TraceContext.addJsonRPCParameters = addJsonRPCParameters;
126
+ /**
127
+ * Does what one would expect from `span.addTags`: Calls `span.addTag` for all keys in map, recursively for objects.
128
+ * Example:
129
+ * ```
130
+ * TraceContext.addNestedTags(ctx, {
131
+ * rpc: {
132
+ * system: "jsonrpc",
133
+ * jsonrpc: {
134
+ * version: "1.0",
135
+ * method: "test",
136
+ * parameters: ["abc", "def"],
137
+ * },
138
+ * },
139
+ * });
140
+ * ```
141
+ * gives
142
+ * rpc.system = "jsonrpc"
143
+ * rpc.jsonrpc.version = "1.0"
144
+ * rpc.jsonrpc.method = "test"
145
+ * rpc.jsonrpc.parameters.0 = "abc"
146
+ * rpc.jsonrpc.parameters.1 = "def"
147
+ * @param ctx
148
+ * @param keyValueMap
149
+ * @returns
150
+ */
151
+ function addNestedTags(ctx, keyValueMap, _namespace) {
152
+ if (!ctx.span) {
153
+ return;
154
+ }
155
+ const namespace = _namespace ? `${_namespace}.` : '';
156
+ try {
157
+ for (const k of Object.keys(keyValueMap)) {
158
+ const v = keyValueMap[k];
159
+ if (v instanceof Object) {
160
+ addNestedTags(ctx, v, `${namespace}${k}`);
161
+ }
162
+ else {
163
+ ctx.span.setTag(`${namespace}${k}`, v);
164
+ }
165
+ }
166
+ }
167
+ catch (err) {
168
+ // general resilience against odd shapes/parameters
169
+ logging_1.log.error("Tracing.addNestedTags", err, { namespace });
170
+ }
171
+ }
172
+ TraceContext.addNestedTags = addNestedTags;
173
+ function setOWI(ctx, owi) {
174
+ if (!ctx.span) {
175
+ return;
176
+ }
177
+ addNestedTags(ctx, {
178
+ context: owi,
179
+ });
180
+ }
181
+ TraceContext.setOWI = setOWI;
47
182
  })(TraceContext = exports.TraceContext || (exports.TraceContext = {}));
48
183
  let TracingManager = class TracingManager {
49
184
  setup(serviceName, opts) {
@@ -55,10 +190,14 @@ let TracingManager = class TracingManager {
55
190
  reporter: {
56
191
  logSpans: false
57
192
  },
58
- serviceName
193
+ serviceName,
59
194
  };
60
195
  const t = (0, jaeger_client_1.initTracerFromEnv)(config, {
61
- logger: console
196
+ logger: console,
197
+ tags: {
198
+ 'service.build.commit': process.env.GITPOD_BUILD_GIT_COMMIT,
199
+ 'service.build.version': process.env.GITPOD_BUILD_VERSION,
200
+ }
62
201
  });
63
202
  if (opts) {
64
203
  if (opts.perOpSampling) {
@@ -1 +1 @@
1
- {"version":3,"file":"tracing.js","sourceRoot":"","sources":["../../src/util/tracing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tracing.js","sourceRoot":"","sources":["../../src/util/tracing.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Copyright (c) 2021 Gitpod GmbH. All rights reserved.
3
+ * Licensed under the GNU Affero General Public License (AGPL).
4
+ * See License-AGPL.txt in the project root for license information.
5
+ */
6
+ export {};
7
+ //# sourceMappingURL=tracing.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tracing.spec.d.ts","sourceRoot":"","sources":["../../src/util/tracing.spec.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}