@lark-apaas/observable 1.0.4-alpha.4 → 1.0.4-alpha.6

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/dist/index.cjs CHANGED
@@ -8844,7 +8844,7 @@ __name(hrTimeToNanosNumber, "hrTimeToNanosNumber");
8844
8844
 
8845
8845
  // package.json
8846
8846
  var package_default = {
8847
- version: "1.0.4-alpha.3"};
8847
+ version: "1.0.4-alpha.5"};
8848
8848
 
8849
8849
  // src/const.ts
8850
8850
  var AppEnv = /* @__PURE__ */ (function(AppEnv2) {
@@ -8857,6 +8857,7 @@ var defaultResourceAttr = {
8857
8857
  "sdk_type": "client-backend",
8858
8858
  "sdk_language": "node"
8859
8859
  };
8860
+ var pointKillTag = "__point_kill_info";
8860
8861
  var TraceDropToken = "TraceDropToken";
8861
8862
 
8862
8863
  // src/utils/convertAllAttrIntoString.ts
@@ -8876,60 +8877,14 @@ function convertAttributesToString(attributes) {
8876
8877
  }
8877
8878
  __name(convertAttributesToString, "convertAttributesToString");
8878
8879
 
8879
- // src/core/point-kill/index.ts
8880
- var PointKillManager = class _PointKillManager {
8881
- static {
8882
- __name(this, "PointKillManager");
8883
- }
8884
- static instance;
8885
- static CONFIG_HEADER_NAME = "x-force-observability-pointkill";
8886
- config = {
8887
- logs: {
8888
- modules: []
8889
- },
8890
- traces: {
8891
- modules: []
8892
- },
8893
- metrics: {
8894
- modules: []
8895
- }
8896
- };
8897
- constructor() {
8898
- }
8899
- static getInstance() {
8900
- if (!_PointKillManager.instance) {
8901
- _PointKillManager.instance = new _PointKillManager();
8902
- }
8903
- return _PointKillManager.instance;
8904
- }
8905
- getConfig() {
8906
- return this.config;
8907
- }
8908
- updateConfig(newConfig) {
8909
- this.config = {
8910
- logs: {
8911
- modules: [
8912
- ...newConfig.logs.modules
8913
- ]
8914
- },
8915
- traces: {
8916
- modules: [
8917
- ...newConfig.traces.modules
8918
- ]
8919
- },
8920
- metrics: {
8921
- modules: [
8922
- ...newConfig.metrics.modules
8923
- ]
8924
- }
8925
- };
8926
- }
8927
- setConfig(configStr) {
8928
- if (!configStr) return;
8929
- try {
8930
- const res = JSON.parse(configStr);
8931
- const { logs: logs2, traces, metrics } = res ?? {};
8932
- this.updateConfig({
8880
+ // src/utils/getSnippingConfig.ts
8881
+ function processSnipConfig(configStr) {
8882
+ if (!configStr) return;
8883
+ try {
8884
+ const res = JSON.parse(configStr);
8885
+ const { logs: logs2, traces, metrics } = res ?? {};
8886
+ if (res) {
8887
+ return {
8933
8888
  logs: {
8934
8889
  modules: Array.isArray(logs2?.modules) ? logs2.modules : []
8935
8890
  },
@@ -8939,19 +8894,16 @@ var PointKillManager = class _PointKillManager {
8939
8894
  metrics: {
8940
8895
  modules: Array.isArray(metrics?.modules) ? metrics.modules : []
8941
8896
  }
8942
- });
8943
- } catch (error) {
8944
- console.error("Failed to parse sniping config:", error);
8945
- }
8946
- }
8947
- updateFromHeaders(headers) {
8948
- const snipingConfig = headers[_PointKillManager.CONFIG_HEADER_NAME] || headers[_PointKillManager.CONFIG_HEADER_NAME.toLowerCase()];
8949
- if (snipingConfig) {
8950
- this.setConfig(snipingConfig);
8897
+ };
8898
+ } else {
8899
+ return void 0;
8951
8900
  }
8901
+ } catch (error) {
8902
+ console.error("Failed to parse sniping config:", error);
8903
+ return void 0;
8952
8904
  }
8953
- };
8954
- var pointKillManager = PointKillManager.getInstance();
8905
+ }
8906
+ __name(processSnipConfig, "processSnipConfig");
8955
8907
 
8956
8908
  // src/core/log-exporter.ts
8957
8909
  var CustomExporter = class {
@@ -8963,18 +8915,21 @@ var CustomExporter = class {
8963
8915
  constructor() {
8964
8916
  }
8965
8917
  export(logs2, resultCallback) {
8966
- const snipingConfig = pointKillManager.getConfig();
8967
- console.log("snipingConfig", snipingConfig);
8968
- if (snipingConfig.logs.modules.includes("*")) {
8969
- resultCallback({
8970
- code: core.ExportResultCode.SUCCESS
8971
- });
8972
- return;
8973
- }
8974
8918
  const filteredLogs = logs2.filter((log) => {
8975
- const module = log.attributes?.module;
8976
- if (module && snipingConfig.logs.modules.includes(module)) {
8977
- return false;
8919
+ const pkTag = log.attributes?.[pointKillTag];
8920
+ if (pkTag) {
8921
+ try {
8922
+ const snipingConfig = processSnipConfig(pkTag);
8923
+ if (snipingConfig?.logs?.modules?.includes("*")) {
8924
+ return false;
8925
+ }
8926
+ const module = log.attributes?.module;
8927
+ if (module && snipingConfig?.logs?.modules?.includes(module)) {
8928
+ return false;
8929
+ }
8930
+ } catch (e) {
8931
+ console.error(`Failed to parse ${pointKillTag} in log exporter:`, e);
8932
+ }
8978
8933
  }
8979
8934
  return true;
8980
8935
  });
@@ -9054,24 +9009,22 @@ var CustomTraceExporter = class {
9054
9009
  tracePrefix = "force-trace-prefix";
9055
9010
  traceSuffix = "force-trace-suffix";
9056
9011
  export(spans, resultCallback) {
9057
- const snipingConfig = pointKillManager.getConfig();
9058
- console.log("snipingConfig", snipingConfig);
9059
- if (snipingConfig.traces.modules.includes("*")) {
9060
- resultCallback({
9061
- code: core.ExportResultCode.SUCCESS
9062
- });
9063
- return;
9064
- }
9065
- const isDev = process.env.NODE_ENV === "development";
9066
- const defaultAttributes = {
9067
- uuid: idGenerator.generateTraceId(),
9068
- app_env: isDev ? AppEnv.Dev : AppEnv.Prod
9069
- };
9070
9012
  const finalSpans = spans.filter((span) => {
9071
9013
  if ((span.attributes ?? {})[TraceDropToken]) return false;
9072
- const module = span.attributes?.module;
9073
- if (module && snipingConfig.traces.modules.includes(module)) {
9074
- return false;
9014
+ const pkTag = span.attributes?.[pointKillTag];
9015
+ if (pkTag) {
9016
+ try {
9017
+ const snipingConfig = processSnipConfig(pkTag);
9018
+ if (snipingConfig?.traces?.modules?.includes("*")) {
9019
+ return false;
9020
+ }
9021
+ const module = span.attributes?.module;
9022
+ if (module && snipingConfig?.traces?.modules?.includes(module)) {
9023
+ return false;
9024
+ }
9025
+ } catch (e) {
9026
+ console.error(`Failed to parse in trace exporter:`, e);
9027
+ }
9075
9028
  }
9076
9029
  return true;
9077
9030
  });
@@ -9081,6 +9034,11 @@ var CustomTraceExporter = class {
9081
9034
  });
9082
9035
  return;
9083
9036
  }
9037
+ const isDev = process.env.NODE_ENV === "development";
9038
+ const defaultAttributes = {
9039
+ uuid: idGenerator.generateTraceId(),
9040
+ app_env: isDev ? AppEnv.Dev : AppEnv.Prod
9041
+ };
9084
9042
  const otlpLikeStructure = {
9085
9043
  resource: {
9086
9044
  attributes: {
@@ -9121,6 +9079,83 @@ function isObservable(input) {
9121
9079
  }
9122
9080
  __name(isObservable, "isObservable");
9123
9081
 
9082
+ // src/core/point-kill/index.ts
9083
+ var PointKillManager = class _PointKillManager {
9084
+ static {
9085
+ __name(this, "PointKillManager");
9086
+ }
9087
+ static instance;
9088
+ static CONFIG_HEADER_NAME = "x-force-observability-pointkill";
9089
+ config = {
9090
+ logs: {
9091
+ modules: []
9092
+ },
9093
+ traces: {
9094
+ modules: []
9095
+ },
9096
+ metrics: {
9097
+ modules: []
9098
+ }
9099
+ };
9100
+ constructor() {
9101
+ }
9102
+ static getInstance() {
9103
+ if (!_PointKillManager.instance) {
9104
+ _PointKillManager.instance = new _PointKillManager();
9105
+ }
9106
+ return _PointKillManager.instance;
9107
+ }
9108
+ getConfig() {
9109
+ return this.config;
9110
+ }
9111
+ updateConfig(newConfig) {
9112
+ this.config = {
9113
+ logs: {
9114
+ modules: [
9115
+ ...newConfig.logs.modules
9116
+ ]
9117
+ },
9118
+ traces: {
9119
+ modules: [
9120
+ ...newConfig.traces.modules
9121
+ ]
9122
+ },
9123
+ metrics: {
9124
+ modules: [
9125
+ ...newConfig.metrics.modules
9126
+ ]
9127
+ }
9128
+ };
9129
+ }
9130
+ setConfig(configStr) {
9131
+ if (!configStr) return;
9132
+ try {
9133
+ const res = JSON.parse(configStr);
9134
+ const { logs: logs2, traces, metrics } = res ?? {};
9135
+ this.updateConfig({
9136
+ logs: {
9137
+ modules: Array.isArray(logs2?.modules) ? logs2.modules : []
9138
+ },
9139
+ traces: {
9140
+ modules: Array.isArray(traces?.modules) ? traces.modules : []
9141
+ },
9142
+ metrics: {
9143
+ modules: Array.isArray(metrics?.modules) ? metrics.modules : []
9144
+ }
9145
+ });
9146
+ } catch (error) {
9147
+ console.error("Failed to parse sniping config:", error);
9148
+ }
9149
+ }
9150
+ updateFromHeaders(headers) {
9151
+ const snipingConfig = headers[_PointKillManager.CONFIG_HEADER_NAME] || headers[_PointKillManager.CONFIG_HEADER_NAME.toLowerCase()];
9152
+ if (snipingConfig) {
9153
+ this.setConfig(snipingConfig);
9154
+ }
9155
+ }
9156
+ };
9157
+ var pointKillManager = PointKillManager.getInstance();
9158
+
9124
9159
  // src/core/sdk.ts
9125
9160
  var AppOTelSDK = class _AppOTelSDK {
9126
9161
  static {