serverless-plugin-datadog 5.70.0 → 5.72.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,2 @@
1
+ export declare function precompilePython(serverless: any): void;
2
+ //# sourceMappingURL=precomile-python.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"precomile-python.d.ts","sourceRoot":"","sources":["../../src/precomile-python.ts"],"names":[],"mappings":"AAIA,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,GAAG,QAW/C"}
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.precompilePython = void 0;
27
+ const child_process_1 = require("child_process");
28
+ const fs = __importStar(require("fs"));
29
+ const path = __importStar(require("path"));
30
+ function precompilePython(serverless) {
31
+ serverless.cli.log('Precompiling Python files');
32
+ let tempDirName = 'datadog';
33
+ let slsDir = serverless.processedInput.options.package || '.serverless';
34
+ let tempDir = path.resolve(slsDir, tempDirName);
35
+ for (const file of lsDirFiles(slsDir, false)) {
36
+ if (file.endsWith('.zip')) {
37
+ preCompilePackage(tempDir, file);
38
+ }
39
+ }
40
+ }
41
+ exports.precompilePython = precompilePython;
42
+ function preCompilePackage(tempDir, zipFile) {
43
+ (0, child_process_1.spawnSync)('unzip', ['-d', tempDir, zipFile]);
44
+ (0, child_process_1.spawnSync)('python', ['-m', 'compileall', '-b', tempDir]);
45
+ replacePyFiles(tempDir);
46
+ (0, child_process_1.spawnSync)('rm', [zipFile]);
47
+ (0, child_process_1.execSync)(`cd ${tempDir} && zip -r ${zipFile} .`);
48
+ (0, child_process_1.spawnSync)('rm', ['-r', tempDir]);
49
+ }
50
+ function replacePyFiles(dir) {
51
+ for (const file of lsDirFiles(dir)) {
52
+ if (file.endsWith('.pyc')) {
53
+ let pyFile = file.replace('.pyc', '.py');
54
+ (0, child_process_1.spawnSync)('rm', [pyFile]);
55
+ }
56
+ }
57
+ }
58
+ function* lsDirFiles(dir, recursive = true) {
59
+ for (const dirent of fs.readdirSync(dir, { withFileTypes: true })) {
60
+ const res = path.resolve(dir, dirent.name);
61
+ if (recursive && dirent.isDirectory()) {
62
+ yield* lsDirFiles(res, recursive);
63
+ }
64
+ else {
65
+ yield res;
66
+ }
67
+ }
68
+ }
69
+ //# sourceMappingURL=precomile-python.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"precomile-python.js","sourceRoot":"","sources":["../../src/precomile-python.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iDAAoD;AACpD,uCAAyB;AACzB,2CAA6B;AAE7B,SAAgB,gBAAgB,CAAC,UAAe;IAC9C,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;IAChD,IAAI,WAAW,GAAG,SAAS,CAAC;IAC5B,IAAI,MAAM,GAAG,UAAU,CAAC,cAAc,CAAC,OAAO,CAAC,OAAO,IAAI,aAAa,CAAC;IACxE,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAEhD,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE;QAC5C,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;YACzB,iBAAiB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;SAClC;KACF;AACH,CAAC;AAXD,4CAWC;AAED,SAAS,iBAAiB,CAAC,OAAe,EAAE,OAAe;IACzD,IAAA,yBAAS,EAAC,OAAO,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IAC7C,IAAA,yBAAS,EAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;IACzD,cAAc,CAAC,OAAO,CAAC,CAAC;IACxB,IAAA,yBAAS,EAAC,IAAI,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3B,IAAA,wBAAQ,EAAC,MAAM,OAAO,cAAc,OAAO,IAAI,CAAC,CAAC;IACjD,IAAA,yBAAS,EAAC,IAAI,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;AACnC,CAAC;AAED,SAAS,cAAc,CAAC,GAAW;IACjC,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,GAAG,CAAC,EAAE;QAClC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;YACzB,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YACzC,IAAA,yBAAS,EAAC,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;SAC3B;KACF;AACH,CAAC;AAED,QAAQ,CAAC,CAAC,UAAU,CAAC,GAAW,EAAE,SAAS,GAAG,IAAI;IAChD,KAAK,MAAM,MAAM,IAAI,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE;QACjE,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,SAAS,IAAI,MAAM,CAAC,WAAW,EAAE,EAAE;YACrC,KAAK,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;SACnC;aAAM;YACL,MAAM,GAAG,CAAC;SACX;KACF;AACH,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function precompilePython(serverless: any): void;
2
+ //# sourceMappingURL=precompile-python.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"precompile-python.d.ts","sourceRoot":"","sources":["../../src/precompile-python.ts"],"names":[],"mappings":"AAIA,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,GAAG,QAW/C"}
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.precompilePython = void 0;
27
+ const child_process_1 = require("child_process");
28
+ const fs = __importStar(require("fs"));
29
+ const path = __importStar(require("path"));
30
+ function precompilePython(serverless) {
31
+ serverless.cli.log('Precompiling Python files');
32
+ let tempDirName = 'datadog';
33
+ let slsDir = serverless.processedInput.options.package || '.serverless';
34
+ let tempDir = path.resolve(slsDir, tempDirName);
35
+ for (const file of lsDirFiles(slsDir, false)) {
36
+ if (file.endsWith('.zip')) {
37
+ preCompilePackage(serverless.service.provider.runtime, tempDir, file);
38
+ }
39
+ }
40
+ }
41
+ exports.precompilePython = precompilePython;
42
+ function preCompilePackage(python, tempDir, zipFile) {
43
+ (0, child_process_1.spawnSync)('unzip', ['-d', tempDir, zipFile]);
44
+ precompile(python, tempDir);
45
+ replacePyFiles(tempDir);
46
+ (0, child_process_1.spawnSync)('rm', [zipFile]);
47
+ (0, child_process_1.execSync)(`cd ${tempDir} && zip -r ${zipFile} .`);
48
+ (0, child_process_1.spawnSync)('rm', ['-r', tempDir]);
49
+ }
50
+ function precompile(python, dir) {
51
+ // TODO: run precompile in docker container
52
+ //spawnSync('python', ['-m', 'compileall', '-b', dir]);
53
+ console.log("----------------------------------------");
54
+ console.log("python: ", python);
55
+ console.log("----------------------------------------");
56
+ let image = python.replace('python3', 'python:3');
57
+ (0, child_process_1.spawnSync)('docker', ['run', '-v', `${dir}:/mnt`, image, 'python', '-m', 'compileall', '-b', '/mnt']);
58
+ }
59
+ function replacePyFiles(dir) {
60
+ for (const file of lsDirFiles(dir)) {
61
+ if (file.endsWith('.pyc')) {
62
+ let pyFile = file.replace('.pyc', '.py');
63
+ (0, child_process_1.spawnSync)('rm', [pyFile]);
64
+ }
65
+ }
66
+ }
67
+ function* lsDirFiles(dir, recursive = true) {
68
+ for (const dirent of fs.readdirSync(dir, { withFileTypes: true })) {
69
+ const res = path.resolve(dir, dirent.name);
70
+ if (recursive && dirent.isDirectory()) {
71
+ yield* lsDirFiles(res, recursive);
72
+ }
73
+ else {
74
+ yield res;
75
+ }
76
+ }
77
+ }
78
+ //# sourceMappingURL=precompile-python.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"precompile-python.js","sourceRoot":"","sources":["../../src/precompile-python.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iDAAoD;AACpD,uCAAyB;AACzB,2CAA6B;AAE7B,SAAgB,gBAAgB,CAAC,UAAe;IAC9C,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;IAChD,IAAI,WAAW,GAAG,SAAS,CAAC;IAC5B,IAAI,MAAM,GAAG,UAAU,CAAC,cAAc,CAAC,OAAO,CAAC,OAAO,IAAI,aAAa,CAAC;IACxE,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAEhD,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE;QAC5C,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;YACzB,iBAAiB,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;SACvE;KACF;AACH,CAAC;AAXD,4CAWC;AAED,SAAS,iBAAiB,CAAC,MAAc,EAAE,OAAe,EAAE,OAAe;IACzE,IAAA,yBAAS,EAAC,OAAO,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IAC7C,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC5B,cAAc,CAAC,OAAO,CAAC,CAAC;IACxB,IAAA,yBAAS,EAAC,IAAI,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3B,IAAA,wBAAQ,EAAC,MAAM,OAAO,cAAc,OAAO,IAAI,CAAC,CAAC;IACjD,IAAA,yBAAS,EAAC,IAAI,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;AACnC,CAAC;AAED,SAAS,UAAU,CAAC,MAAc,EAAE,GAAW;IAC7C,2CAA2C;IAC3C,uDAAuD;IACvD,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;IACxD,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAChC,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;IACxD,IAAI,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IAClD,IAAA,yBAAS,EAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,GAAG,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;AACvG,CAAC;AAED,SAAS,cAAc,CAAC,GAAW;IACjC,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,GAAG,CAAC,EAAE;QAClC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;YACzB,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YACzC,IAAA,yBAAS,EAAC,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;SAC3B;KACF;AACH,CAAC;AAED,QAAQ,CAAC,CAAC,UAAU,CAAC,GAAW,EAAE,SAAS,GAAG,IAAI;IAChD,KAAK,MAAM,MAAM,IAAI,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE;QACjE,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,SAAS,IAAI,MAAM,CAAC,WAAW,EAAE,EAAE;YACrC,KAAK,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;SACnC;aAAM;YACL,MAAM,GAAG,CAAC;SACX;KACF;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"span-link.d.ts","sourceRoot":"","sources":["../../src/span-link.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAA0B,MAAM,yBAAyB,CAAC;AAClF,OAAO,KAAK,UAAU,MAAM,YAAY,CAAC;AAEzC,wBAAgB,gCAAgC,CAC9C,SAAS,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe,CAAA;CAAE,EAC7C,UAAU,EAAE,UAAU,GACrB,IAAI,CAaN"}
1
+ {"version":3,"file":"span-link.d.ts","sourceRoot":"","sources":["../../src/span-link.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAA0B,MAAM,yBAAyB,CAAC;AAClF,OAAO,KAAK,UAAU,MAAM,YAAY,CAAC;AAEzC,wBAAgB,gCAAgC,CAC9C,SAAS,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe,CAAA;CAAE,EAC7C,UAAU,EAAE,UAAU,GACrB,IAAI,CASN"}
@@ -4,17 +4,13 @@ exports.mergeStepFunctionAndLambdaTraces = void 0;
4
4
  const step_functions_helper_1 = require("./step-functions-helper");
5
5
  function mergeStepFunctionAndLambdaTraces(resources, serverless) {
6
6
  var _a;
7
- for (const resourceName in resources) {
8
- if (resources.hasOwnProperty(resourceName)) {
9
- const resourceObj = resources[resourceName];
10
- if (resourceObj.Type === "AWS::StepFunctions::StateMachine") {
11
- if (resourceObj.Properties) {
12
- const definitionString = (_a = resourceObj.Properties) === null || _a === void 0 ? void 0 : _a.DefinitionString;
13
- const newDefString = (0, step_functions_helper_1.updateDefinitionString)(definitionString, serverless, resourceName);
14
- resourceObj.Properties.DefinitionString = newDefString;
15
- }
16
- }
7
+ for (const [resourceName, resourceObj] of Object.entries(resources)) {
8
+ if (resourceObj.Type !== "AWS::StepFunctions::StateMachine" || !resourceObj.Properties) {
9
+ continue;
17
10
  }
11
+ const definitionString = (_a = resourceObj.Properties) === null || _a === void 0 ? void 0 : _a.DefinitionString;
12
+ const newDefString = (0, step_functions_helper_1.updateDefinitionString)(definitionString, serverless, resourceName);
13
+ resourceObj.Properties.DefinitionString = newDefString;
18
14
  }
19
15
  }
20
16
  exports.mergeStepFunctionAndLambdaTraces = mergeStepFunctionAndLambdaTraces;
@@ -1 +1 @@
1
- {"version":3,"file":"span-link.js","sourceRoot":"","sources":["../../src/span-link.ts"],"names":[],"mappings":";;;AAAA,mEAAkF;AAGlF,SAAgB,gCAAgC,CAC9C,SAA6C,EAC7C,UAAsB;;IAEtB,KAAK,MAAM,YAAY,IAAI,SAAS,EAAE;QACpC,IAAI,SAAS,CAAC,cAAc,CAAC,YAAY,CAAC,EAAE;YAC1C,MAAM,WAAW,GAAoB,SAAS,CAAC,YAAY,CAAC,CAAC;YAC7D,IAAI,WAAW,CAAC,IAAI,KAAK,kCAAkC,EAAE;gBAC3D,IAAI,WAAW,CAAC,UAAU,EAAE;oBAC1B,MAAM,gBAAgB,GAAG,MAAA,WAAW,CAAC,UAAU,0CAAE,gBAAiB,CAAC;oBACnE,MAAM,YAAY,GAAG,IAAA,8CAAsB,EAAC,gBAAgB,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;oBACxF,WAAW,CAAC,UAAU,CAAC,gBAAgB,GAAG,YAAY,CAAC;iBACxD;aACF;SACF;KACF;AACH,CAAC;AAhBD,4EAgBC"}
1
+ {"version":3,"file":"span-link.js","sourceRoot":"","sources":["../../src/span-link.ts"],"names":[],"mappings":";;;AAAA,mEAAkF;AAGlF,SAAgB,gCAAgC,CAC9C,SAA6C,EAC7C,UAAsB;;IAEtB,KAAK,MAAM,CAAC,YAAY,EAAE,WAAW,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;QACnE,IAAI,WAAW,CAAC,IAAI,KAAK,kCAAkC,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE;YACtF,SAAS;SACV;QACD,MAAM,gBAAgB,GAAG,MAAA,WAAW,CAAC,UAAU,0CAAE,gBAAiB,CAAC;QACnE,MAAM,YAAY,GAAG,IAAA,8CAAsB,EAAC,gBAAgB,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;QACxF,WAAW,CAAC,UAAU,CAAC,gBAAgB,GAAG,YAAY,CAAC;KACxD;AACH,CAAC;AAZD,4EAYC"}
@@ -1,6 +1,4 @@
1
1
  import Serverless from "serverless";
2
- export declare function isSafeToModifyStepFunctionLambdaInvocation(parameters: any): boolean;
3
- export declare function isSafeToModifyStepFunctionInvoctation(parameters: any): boolean;
4
2
  export interface GeneralResource {
5
3
  Type: string;
6
4
  Properties?: {
@@ -14,14 +12,26 @@ export interface StateMachineDefinition {
14
12
  [key: string]: StateMachineStep;
15
13
  };
16
14
  }
15
+ export type PayloadObject = {
16
+ "Execution.$"?: any;
17
+ Execution?: any;
18
+ "State.$"?: any;
19
+ State?: any;
20
+ "StateMachine.$"?: any;
21
+ StateMachine?: any;
22
+ };
23
+ export type StepFunctionInput = {
24
+ "CONTEXT.$"?: string;
25
+ CONTEXT?: string;
26
+ [key: string]: unknown;
27
+ };
17
28
  export interface StateMachineStep {
18
29
  Resource?: string;
19
30
  Parameters?: {
20
31
  FunctionName?: string;
21
32
  "Payload.$"?: string;
22
- Input?: {
23
- "CONTEXT.$"?: string;
24
- };
33
+ Payload?: string | PayloadObject;
34
+ Input?: string | StepFunctionInput;
25
35
  };
26
36
  Next?: string;
27
37
  End?: boolean;
@@ -33,5 +43,6 @@ export declare function updateDefinitionString(definitionString: string | {
33
43
  }, serverless: Serverless, stateMachineName: string): string | {
34
44
  "Fn::Sub": (string | object)[];
35
45
  };
46
+ export declare function updateDefinitionForStepFunctionInvocationStep(stepName: string, step: StateMachineStep, serverless: Serverless, stateMachineName: string): boolean;
36
47
  export declare function inspectAndRecommendStepFunctionsInstrumentation(serverless: Serverless): void;
37
48
  //# sourceMappingURL=step-functions-helper.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"step-functions-helper.d.ts","sourceRoot":"","sources":["../../src/step-functions-helper.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,YAAY,CAAC;AAEpC,wBAAgB,0CAA0C,CAAC,UAAU,EAAE,GAAG,GAAG,OAAO,CAcnF;AAUD,wBAAgB,qCAAqC,CAAC,UAAU,EAAE,GAAG,GAAG,OAAO,CAiB9E;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE;QACX,gBAAgB,CAAC,EACb,MAAM,GACN;YACE,SAAS,EAAE,GAAG,EAAE,CAAC;SAClB,CAAC;KACP,CAAC;CACH;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB,CAAA;KAAE,CAAC;CAC7C;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE;QACX,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,KAAK,CAAC,EAAE;YACN,WAAW,CAAC,EAAE,MAAM,CAAC;SACtB,CAAC;KACH,CAAC;IACF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAU5E;AAED,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAK9E;AAkBD,wBAAgB,sBAAsB,CACpC,gBAAgB,EAAE,MAAM,GAAG;IAAE,SAAS,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAA;CAAE,EAC7D,UAAU,EAAE,UAAU,EACtB,gBAAgB,EAAE,MAAM,GACvB,MAAM,GAAG;IAAE,SAAS,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAA;CAAE,CAoD7C;AAED,wBAAgB,+CAA+C,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI,CAO5F"}
1
+ {"version":3,"file":"step-functions-helper.d.ts","sourceRoot":"","sources":["../../src/step-functions-helper.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,YAAY,CAAC;AAEpC,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE;QACX,gBAAgB,CAAC,EACb,MAAM,GACN;YACE,SAAS,EAAE,GAAG,EAAE,CAAC;SAClB,CAAC;KACP,CAAC;CACH;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB,CAAA;KAAE,CAAC;CAC7C;AAED,MAAM,MAAM,aAAa,GAAG;IAC1B,aAAa,CAAC,EAAE,GAAG,CAAC;IACpB,SAAS,CAAC,EAAE,GAAG,CAAC;IAChB,SAAS,CAAC,EAAE,GAAG,CAAC;IAChB,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,gBAAgB,CAAC,EAAE,GAAG,CAAC;IACvB,YAAY,CAAC,EAAE,GAAG,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB,CAAC;AAEF,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE;QACX,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,OAAO,CAAC,EAAE,MAAM,GAAG,aAAa,CAAC;QACjC,KAAK,CAAC,EAAE,MAAM,GAAG,iBAAiB,CAAC;KACpC,CAAC;IACF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAU5E;AAED,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAK9E;AAkBD,wBAAgB,sBAAsB,CACpC,gBAAgB,EAAE,MAAM,GAAG;IAAE,SAAS,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAA;CAAE,EAC7D,UAAU,EAAE,UAAU,EACtB,gBAAgB,EAAE,MAAM,GACvB,MAAM,GAAG;IAAE,SAAS,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAA;CAAE,CAiC7C;AA2ID,wBAAgB,6CAA6C,CAC3D,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,gBAAgB,EACtB,UAAU,EAAE,UAAU,EACtB,gBAAgB,EAAE,MAAM,GACvB,OAAO,CAuDT;AAED,wBAAgB,+CAA+C,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI,CAO5F"}
@@ -1,46 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.inspectAndRecommendStepFunctionsInstrumentation = exports.updateDefinitionString = exports.isStepFunctionInvocation = exports.isDefaultLambdaApiStep = exports.isSafeToModifyStepFunctionInvoctation = exports.isSafeToModifyStepFunctionLambdaInvocation = void 0;
4
- function isSafeToModifyStepFunctionLambdaInvocation(parameters) {
5
- if (typeof parameters !== "object") {
6
- return false;
7
- }
8
- if (!parameters.hasOwnProperty("Payload.$")) {
9
- return true;
10
- }
11
- else {
12
- if (parameters["Payload.$"] === "$") {
13
- // $ % is the default original unchanged payload
14
- return true;
15
- }
16
- }
17
- return false;
18
- }
19
- exports.isSafeToModifyStepFunctionLambdaInvocation = isSafeToModifyStepFunctionLambdaInvocation;
20
- // Truth table
21
- // Input | Expected
22
- // -------------------------|---------
23
- // Empty object | true
24
- // undefined | true
25
- // not object | false
26
- // object without CONTEXT.$ | true
27
- // object with CONTEXT.$ | false
28
- function isSafeToModifyStepFunctionInvoctation(parameters) {
29
- if (typeof parameters !== "object") {
30
- return false;
31
- }
32
- if (!parameters.hasOwnProperty("Input")) {
33
- return true;
34
- }
35
- if (typeof parameters.Input !== "object") {
36
- return false;
37
- }
38
- if (!parameters.Input.hasOwnProperty("CONTEXT.$")) {
39
- return true;
40
- }
41
- return false;
42
- }
43
- exports.isSafeToModifyStepFunctionInvoctation = isSafeToModifyStepFunctionInvoctation;
3
+ exports.inspectAndRecommendStepFunctionsInstrumentation = exports.updateDefinitionForStepFunctionInvocationStep = exports.updateDefinitionString = exports.isStepFunctionInvocation = exports.isDefaultLambdaApiStep = void 0;
44
4
  function isDefaultLambdaApiStep(resource) {
45
5
  // default means not legacy lambda api
46
6
  if (resource === undefined) {
@@ -74,6 +34,7 @@ function parseDefinitionObject(definitionString) {
74
34
  // Updates the definitionString of a step function to include trace context as appropriate for a Lambda invocation or a nested step function invocation.
75
35
  // definitionString can either be an object or a naked string, so we need to return the same and explicitly modify the Resource in span-link.ts
76
36
  function updateDefinitionString(definitionString, serverless, stateMachineName) {
37
+ // Step 1: Parse definition object from definition string
77
38
  let definitionObj;
78
39
  if (typeof definitionString !== "string") {
79
40
  // definitionString is a {"Fn::Sub": (string | object)[]}
@@ -88,35 +49,18 @@ function updateDefinitionString(definitionString, serverless, stateMachineName)
88
49
  else {
89
50
  definitionObj = JSON.parse(definitionString);
90
51
  }
52
+ // Step 2: Mutate the definition object
91
53
  const states = definitionObj.States;
92
- for (const stepName in states) {
93
- if (states.hasOwnProperty(stepName)) {
94
- const step = states[stepName];
95
- if (!isDefaultLambdaApiStep(step === null || step === void 0 ? void 0 : step.Resource) && !isStepFunctionInvocation(step === null || step === void 0 ? void 0 : step.Resource)) {
96
- // only inject context into default Lambda API steps and Step Function invocation steps
97
- continue;
98
- }
99
- if (isDefaultLambdaApiStep(step === null || step === void 0 ? void 0 : step.Resource)) {
100
- if (typeof step.Parameters === "object") {
101
- if (isSafeToModifyStepFunctionLambdaInvocation(step.Parameters)) {
102
- step.Parameters["Payload.$"] = "States.JsonMerge($$, $, false)";
103
- serverless.cli.log(`JsonMerge Step Functions context object with payload in step: ${stepName} of state machine: ${stateMachineName}.`);
104
- }
105
- else {
106
- serverless.cli.log(`[Warn] Parameters.Payload has been set. Merging traces failed for step: ${stepName} of state machine: ${stateMachineName}`);
107
- }
108
- }
109
- }
110
- else if (isStepFunctionInvocation(step === null || step === void 0 ? void 0 : step.Resource)) {
111
- if (isSafeToModifyStepFunctionInvoctation(step === null || step === void 0 ? void 0 : step.Parameters)) {
112
- if (step.Parameters && !step.Parameters.Input) {
113
- step.Parameters.Input = {};
114
- }
115
- step.Parameters.Input["CONTEXT.$"] = "States.JsonMerge($$, $, false)";
116
- }
117
- }
54
+ for (const [stepName, step] of Object.entries(states)) {
55
+ // only inject context into default Lambda API steps and Step Function invocation steps
56
+ if (isDefaultLambdaApiStep(step === null || step === void 0 ? void 0 : step.Resource)) {
57
+ updateDefinitionForDefaultLambdaApiStep(stepName, step, serverless, stateMachineName);
58
+ }
59
+ else if (isStepFunctionInvocation(step === null || step === void 0 ? void 0 : step.Resource)) {
60
+ updateDefinitionForStepFunctionInvocationStep(stepName, step, serverless, stateMachineName);
118
61
  }
119
62
  }
63
+ // Step 3: Convert definition object back into definition string
120
64
  if (typeof definitionString !== "string") {
121
65
  definitionString["Fn::Sub"][0] = JSON.stringify(definitionObj); // writing back to the original JSON created by Serverless framework
122
66
  }
@@ -126,6 +70,148 @@ function updateDefinitionString(definitionString, serverless, stateMachineName)
126
70
  return definitionString; // return the definitionString so it can be written to the Resource in span-link.ts
127
71
  }
128
72
  exports.updateDefinitionString = updateDefinitionString;
73
+ // Truth table
74
+ // Case | Input | Will update
75
+ // -----|----------------------------------------------------------|-------------
76
+ // 1 | No "Payload" or "Payload.$" | true
77
+ // 2.1 | "Payload" is object, already injected | false
78
+ // 2.2 | "Payload" object has Execution, State or StateMachine | false
79
+ // 2.3 | "Payload" object has no Execution, State or StateMachine | true
80
+ // 3 | "Payload" is not object | false
81
+ // 4.1 | "Payload.$": "$" (default payload) | true
82
+ // 4.2 | "Payload.$": "States.JsonMerge($$, $, false)" or | false
83
+ // | "Payload.$": "$$['Execution', 'State', 'StateMachine']" |
84
+ // 4.3 | Custom "Payload.$" | false
85
+ function updateDefinitionForDefaultLambdaApiStep(stepName, step, serverless, stateMachineName) {
86
+ if (typeof step.Parameters !== "object") {
87
+ serverless.cli.log(`[Warn] Parameters field is not a JSON object. Merging traces failed for step: ${stepName} of state machine: ${stateMachineName}. \
88
+ Your Step Functions trace will not be merged with downstream Lambda traces. To manually merge these traces, check out \
89
+ https://docs.datadoghq.com/serverless/step_functions/troubleshooting/`);
90
+ return;
91
+ }
92
+ // Case 2 & 3: Parameters has "Payload" field
93
+ if (step.Parameters.hasOwnProperty("Payload")) {
94
+ const payload = step.Parameters.Payload;
95
+ // Case 3: payload is not a JSON object
96
+ if (typeof payload !== "object") {
97
+ serverless.cli.log(`[Warn] Payload field is not a JSON object. Merging traces failed for step: ${stepName} of state machine: ${stateMachineName}. \
98
+ Your Step Functions trace will not be merged with downstream Lambda traces. To manually merge these traces, check out \
99
+ https://docs.datadoghq.com/serverless/step_functions/troubleshooting/`);
100
+ return;
101
+ }
102
+ // Case 2: payload is a JSON object
103
+ if (payload["Execution.$"] === "$$.Execution" &&
104
+ payload["State.$"] === "$$.State" &&
105
+ payload["StateMachine.$"] === "$$.StateMachine") {
106
+ // Case 2.1: already injected into "Payload"
107
+ serverless.cli.log(`Context injection is already set up. Skipping merging traces for step: ${stepName} of state machine: ${stateMachineName}.\n`);
108
+ return;
109
+ }
110
+ // Case 2.2: "Payload" object has Execution, State or StateMachine field but conject injection is not set up completely
111
+ if (payload.hasOwnProperty("Execution.$") ||
112
+ payload.hasOwnProperty("Execution") ||
113
+ payload.hasOwnProperty("State.$") ||
114
+ payload.hasOwnProperty("State") ||
115
+ payload.hasOwnProperty("StateMachine.$") ||
116
+ payload.hasOwnProperty("StateMachine")) {
117
+ serverless.cli
118
+ .log(`[Warn] Step ${stepName} of state machine: ${stateMachineName} may be using custom Execution, State or StateMachine field. \
119
+ Step Functions Context Object injection skipped. Your Step Functions trace will not be merged with downstream Lambda traces. To manually \
120
+ merge these traces, check out https://docs.datadoghq.com/serverless/step_functions/troubleshooting/\n`);
121
+ return;
122
+ }
123
+ // Case 2.3: "Payload" object has no Execution, State or StateMachine field
124
+ payload["Execution.$"] = "$$.Execution";
125
+ payload["State.$"] = "$$.State";
126
+ payload["StateMachine.$"] = "$$.StateMachine";
127
+ return;
128
+ }
129
+ // Case 4: Parameters has "Payload.$" field
130
+ if (step.Parameters.hasOwnProperty("Payload.$")) {
131
+ // Case 4.1: default "Payload.$"
132
+ if (step.Parameters["Payload.$"] === "$") {
133
+ step.Parameters["Payload.$"] = "States.JsonMerge($$, $, false)";
134
+ serverless.cli.log(`JsonMerge Step Functions context object with payload in step: ${stepName} of state machine: ${stateMachineName}.`);
135
+ return;
136
+ }
137
+ // Case 4.2: context injection is already set up using "Payload.$"
138
+ if (step.Parameters["Payload.$"] === "States.JsonMerge($$, $, false)" ||
139
+ step.Parameters["Payload.$"] === "$$['Execution', 'State', 'StateMachine']") {
140
+ serverless.cli.log(`Step ${stepName} of state machine ${stateMachineName}: Context injection is already set up. Skipping context injection.\n`);
141
+ return;
142
+ }
143
+ // Case 4.3: custom "Payload.$"
144
+ serverless.cli.log(`[Warn] Step ${stepName} of state machine ${stateMachineName} has a custom Payload field. Step Functions Context Object injection \
145
+ skipped. Your Step Functions trace will not be merged with downstream Lambda traces. To manually merge these traces, \
146
+ check out https://docs.datadoghq.com/serverless/step_functions/troubleshooting/\n`);
147
+ return;
148
+ }
149
+ // Case 1: No "Payload" or "Payload.$"
150
+ step.Parameters["Payload.$"] = "$$['Execution', 'State', 'StateMachine']";
151
+ serverless.cli.log(`Merging traces for step: ${stepName} of state machine: ${stateMachineName}.`);
152
+ }
153
+ // Truth table
154
+ // Input | Expected
155
+ // -------------------------|---------
156
+ // Empty object | true
157
+ // undefined | true
158
+ // not object | false
159
+ // object without CONTEXT.$ | true
160
+ // object with CONTEXT.$ | false
161
+ // Truth table
162
+ // Case | Input | Expected
163
+ // -----|----------------------------------------------------------|---------
164
+ // 0.1 | Parameters field is not an object | false
165
+ // 0.2 | Parameters field has no Input field | true
166
+ // 0.3 | Parameters.Input is not an object | false
167
+ // 1 | No "CONTEXT" or "CONTEXT.$" | true
168
+ // 2 | Has "CONTEXT" | false
169
+ // 3.1 | "CONTEXT.$": "States.JsonMerge($$, $, false)" or | false
170
+ // | "CONTEXT.$": "$$['Execution', 'State', 'StateMachine']" |
171
+ // 3.2 | Custom "CONTEXT.$" | false
172
+ function updateDefinitionForStepFunctionInvocationStep(stepName, step, serverless, stateMachineName) {
173
+ const parameters = step === null || step === void 0 ? void 0 : step.Parameters;
174
+ // Case 0.1: Parameters field is not an object
175
+ if (typeof parameters !== "object") {
176
+ return false;
177
+ }
178
+ // Case 0.2: Parameters field has no Input field
179
+ if (!parameters.hasOwnProperty("Input")) {
180
+ parameters.Input = { "CONTEXT.$": "States.JsonMerge($$, $, false)" };
181
+ return true;
182
+ }
183
+ // Case 0.3: Parameters.Input is not an object
184
+ if (typeof parameters.Input !== "object") {
185
+ return false;
186
+ }
187
+ // Case 1: No "CONTEXT" or "CONTEXT.$"
188
+ if (!parameters.Input.hasOwnProperty("CONTEXT") && !parameters.Input.hasOwnProperty("CONTEXT.$")) {
189
+ parameters.Input["CONTEXT.$"] = "$$['Execution', 'State', 'StateMachine']";
190
+ return true;
191
+ }
192
+ // Case 2: Has 'CONTEXT' field.
193
+ // This case should be rare, so we don't support context injection for this case for now.
194
+ if (parameters.Input.hasOwnProperty("CONTEXT")) {
195
+ serverless.cli
196
+ .log(`[Warn] Step ${stepName} of state machine ${stateMachineName} has custom CONTEXT field. Step Functions Context \
197
+ Object injection skipped. Your Step Functions trace will not be merged with downstream Step Function traces. To manually \
198
+ merge these traces, check out https://docs.datadoghq.com/serverless/step_functions/troubleshooting/\n`);
199
+ return false;
200
+ }
201
+ // Case 3.1 context injection is already set up
202
+ if (parameters.Input["CONTEXT.$"] === "States.JsonMerge($$, $, false)" ||
203
+ parameters.Input["CONTEXT.$"] === `$$['Execution', 'State', 'StateMachine']`) {
204
+ serverless.cli.log(`Step ${stepName} of state machine ${stateMachineName}: Context injection is already set up. Skipping context injection.\n`);
205
+ return false;
206
+ }
207
+ // Case 3.2 custom CONTEXT.$ field
208
+ serverless.cli
209
+ .log(`[Warn] Step ${stepName} of state machine ${stateMachineName}: Parameters.Input field has a custom CONTEXT.$ field. Step \
210
+ Functions Context Object injection skipped. Your Step Functions trace will not be merged with downstream Step Function traces. To \
211
+ manually merge these traces, check out https://docs.datadoghq.com/serverless/step_functions/troubleshooting/\n`);
212
+ return false;
213
+ }
214
+ exports.updateDefinitionForStepFunctionInvocationStep = updateDefinitionForStepFunctionInvocationStep;
129
215
  function inspectAndRecommendStepFunctionsInstrumentation(serverless) {
130
216
  var _a;
131
217
  const stepFunctions = Object.values(((_a = serverless.service.stepFunctions) === null || _a === void 0 ? void 0 : _a.stateMachines) || {});
@@ -1 +1 @@
1
- {"version":3,"file":"step-functions-helper.js","sourceRoot":"","sources":["../../src/step-functions-helper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"step-functions-helper.js","sourceRoot":"","sources":["../../src/step-functions-helper.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "serverless-plugin-datadog",
3
- "version": "5.70.0",
3
+ "version": "5.72.0",
4
4
  "description": "Serverless plugin to automatically instrument python and node functions with datadog tracing",
5
5
  "main": "dist/src/index.js",
6
6
  "repository": "https://github.com/DataDog/serverless-plugin-datadog",