serverless-plugin-datadog 4.1.3 → 5.0.0

Sign up to get free protection for your applications and to get access to all the features.
package/README.md CHANGED
@@ -13,19 +13,19 @@ dependencies: ["https://github.com/DataDog/serverless-plugin-datadog/blob/master
13
13
  [![License](https://img.shields.io/badge/license-Apache--2.0-blue)](https://github.com/DataDog/serverless-plugin-datadog/blob/master/LICENSE)
14
14
 
15
15
  Datadog recommends the Serverless Framework Plugin for developers using the Serverless Framework to deploy their serverless applications.
16
- The plugin automatically enables instrumentation for your Python and Node.js applications to collect metrics, traces, and logs by:
16
+ The plugin automatically enables instrumentation for applications to collect metrics, traces, and logs by:
17
17
 
18
18
  - Installing the Datadog Lambda library to your Lambda functions as a Lambda layer.
19
19
  - Installing the Datadog Lambda Extension to your Lambda functions as a Lambda layer (`addExtension`) or subscribing the Datadog Forwarder to your Lambda functions' log groups (`forwarderArn`).
20
- - Making the required configuration changes, such as adding environment variables, to your Lambda functions.
20
+ - Making the required configuration changes, such as adding environment variables or additional tracing layers, to your Lambda functions.
21
21
 
22
22
  ## Getting started
23
23
 
24
- To quickly get started, follow the installation instructions for [Python][1] or [Node.js][2], and view your function's enhanced metrics, traces, and logs in Datadog. These instructions will get you a basic working setup.
24
+ To quickly get started, follow the installation instructions for [Python][1], [Node.js][2], [Ruby][3], [Java][4], [Go][5], or [.NET][6] and view your function's enhanced metrics, traces, and logs in Datadog. These instructions will get you a basic working setup. If working in Ruby or Go, further code changes are required.
25
25
 
26
26
  ## Upgrade
27
27
 
28
- Each version of the plugin is published with a [specific set of versions of the Datadog Lambda layers][11]. To pick up new features and bug fixes provided by the latest versions of Datadog Lambda layers, upgrade the serverless framework plugin. Test the new version before applying it on your production applications.
28
+ Each version of the plugin is published with a [specific set of versions of the Datadog Lambda layers][15]. To pick up new features and bug fixes provided by the latest versions of Datadog Lambda layers, upgrade the serverless framework plugin. Test the new version before applying it on your production applications.
29
29
 
30
30
  ## More configuration options
31
31
 
@@ -35,13 +35,13 @@ To further configure your plugin, use the following custom parameters in your `s
35
35
  | ----------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
36
36
  | `flushMetricsToLogs` | Send custom metrics by using logs with the Datadog Forwarder Lambda function (recommended). Defaults to `true`. To use an encrypted key, set `apiKMSKey` or `apiKeySecretArn` in the configuration. `flushMetricsToLogs` is ignored when `addExtension` is true. |
37
37
  | `site` | Set which Datadog site to send data to. This is only used when `flushMetricsToLogs` is `false` or `addExtension` is `true`. Possible values are `datadoghq.com`, `datadoghq.eu`, `us3.datadoghq.com`, `us5.datadoghq.com`, and `ddog-gov.com`. The default is `datadoghq.com`. |
38
- | `apiKey` | Datadog API key. Required when `flushMetricsToLogs` is `false` or `addExtension` is `true`. Defining `apiKey` adds the Datadog API key directly to your Lambda functions as an environment variable. For more information about getting a Datadog API key, see the [API key documentation][3]. Can also be set via the `DATADOG_API_KEY` environment variable. |
39
- | `appKey` | Datadog app key. Only needed when the `monitors` field is defined. Can also be set via the `DATADOG_APP_KEY` environment variable. |
38
+ | `apiKey` | Datadog API key. Required when `flushMetricsToLogs` is `false` or `addExtension` is `true`. Defining `apiKey` adds the Datadog API key directly to your Lambda functions as an environment variable. For more information about getting a Datadog API key, see the [API key documentation][7]. Can also be set through the `DATADOG_API_KEY` environment variable. |
39
+ | `appKey` | Datadog app key. Only needed when the `monitors` field is defined. Can also be set through the `DATADOG_APP_KEY` environment variable. |
40
40
  | `apiKeySecretArn` | An alternative to using the `apiKey` field. The ARN of the secret storing the Datadog API key in AWS Secrets Manager. Use this parameter if you're storing your secrets in AWS Secrets Manager, and when `flushMetricsToLogs` is `false` or `addExtension` is `true`. If set, remember to add the `secretsmanager:GetSecretValue` permission to the Lambda execution role. |
41
41
  | `apiKMSKey` | An alternative to using the `apiKey` field. Datadog API key encrypted using KMS. Use this parameter if you're storing your secrets with KMS, and if `flushMetricsToLogs` is `false` or `addExtension` is `true`. Defining `apiKMSKey` adds the Datadog API Key directly to your Lambda functions as an environment variable. |
42
- | `captureLambdaPayload` | (Experimental) This optional setting configures Datadog ingestion for incoming and outgoing AWS Lambda payloads. Function request and response values are added as part of outgoing APM spans sent to Datadog, and require Datadog APM to be configured on your function. You can obfuscate fields in the Lambda payload by using the `replace_tags` block within `apm_config` settings in [datadog.yaml.][12] Defaults to `false`. |
43
- | `addLayers` | Whether to install the Datadog Lambda library as a layer. Defaults to `true`. Set to `false` when you plan to package the Datadog Lambda library to your function's deployment package on your own so that you can install a specific version of the Datadog Lambda library ([Python][4] or [Node.js][5]). |
44
- | `addExtension` | Whether to install the Datadog Lambda Extension as a layer. Defaults to `true`. When enabled, it's required to set the environment variable `DATADOG_API_KEY`, or the configuration values `apiKMSKey` or `apiKeySecretArn`. Learn more about the [Datadog Lambda Extension Layer][8] in the documentation. **Note**: AWS only supports Lambda Extensions for [certain runtimes][9]. |
42
+ | `captureLambdaPayload` | (Experimental) This optional setting configures Datadog ingestion for incoming and outgoing AWS Lambda payloads. Function request and response values are added as part of outgoing APM spans sent to Datadog, and require Datadog APM to be configured on your function. You can obfuscate fields in the Lambda payload by using the `replace_tags` block within `apm_config` settings in [datadog.yaml.][16] Defaults to `false`. |
43
+ | `addLayers` | Whether to install the Datadog Lambda library as a layer. Defaults to `true`. Set to `false` when you plan to package the Datadog Lambda library to your function's deployment package on your own so that you can install a specific version of the Datadog Lambda library ([Python][8] or [Node.js][9]). |
44
+ | `addExtension` | Whether to install the Datadog Lambda Extension as a layer. Defaults to `true`. When enabled, it's required to set the environment variable `DATADOG_API_KEY`, or the configuration values `apiKMSKey` or `apiKeySecretArn`. Learn more about the [Datadog Lambda Extension Layer][12] in the documentation. **Note:** AWS only supports Lambda Extensions for [certain runtimes][13]. |
45
45
  | `logLevel` | The log level, set to `DEBUG` for extended logging. |
46
46
  | `enableXrayTracing` | Set `true` to enable X-Ray tracing on the Lambda functions and API Gateway integrations. Defaults to `false`. |
47
47
  | `enableDDTracing` | Enable Datadog tracing on the Lambda function. Note: This applies only to integrations using the Datadog Extension. Defaults to `true`. |
@@ -58,6 +58,7 @@ To further configure your plugin, use the following custom parameters in your `s
58
58
  | `enabled` | When set to `false`, the Datadog plugin stays inactive. Defaults to `true`. You can control this option using an environment variable. For example, use `enabled: ${strToBool(${env:DD_PLUGIN_ENABLED, true})}` to activate/deactivate the plugin during deployment. Alternatively, you can also use the value passed in through `--stage` to control this option—[see example](#disable-plugin-for-particular-environment). |
59
59
  | `monitors` | When defined, the Datadog plugin will configure monitors for the deployed function. Requires setting `DATADOG_API_KEY` and `DATADOG_APP_KEY` in your environment. To learn how to define monitors, see [To Enable and Configure a Recommended Serverless Monitor](#to-enable-and-configure-a-recommended-serverless-monitor). |
60
60
  | `customHandler` | When set, the specified handler is set as the handler for all the functions. By default, the handler is set to `/opt/nodejs/node_modules/datadog-lambda-js/handler.handler` if `addLayers` is set to `true`, or `node_modules/datadog-lambda-js/dist/handler.handler` if `addLayers` is set to `false`. |
61
+ | `failOnError` | When set, this plugin will throw an error if any custom Datadog monitors fail to create or update. This occurs after deploy, but will cause the result of `serverless deploy` to return a nonzero exit code (to fail user CI). Defaults to `false`. |
61
62
 
62
63
  To use any of these parameters, add a `custom` > `datadog` section to your `serverless.yml` similar to this example:
63
64
 
@@ -80,7 +81,7 @@ custom:
80
81
  - dd-excluded-function
81
82
  ```
82
83
 
83
- **Note**: If you use webpack, Datadog recommends using the prebuilt layers by setting `addLayers` to `true`, which is the default, and add `datadog-lambda-js` and `dd-trace` to the [externals][6] section of your webpack config.
84
+ **Note**: If you use webpack, Datadog recommends using the prebuilt layers by setting `addLayers` to `true`, which is the default, and add `datadog-lambda-js` and `dd-trace` to the [externals][10] section of your webpack config.
84
85
 
85
86
  **Note**: Many of the above configuration values require setting `DATADOG_API_KEY` in your environment. If you store these values in AWS Secrets Manager or AWS KMS, refer to the above options `apiKeySecretArn` and `apiKMSKey` to pull your Datadog API key from the correct location.
86
87
 
@@ -129,7 +130,7 @@ custom:
129
130
 
130
131
  ### Forwarder
131
132
 
132
- The [Datadog Forwarder Lambda function][7] needs to be installed and subscribed to your Lambda functions' log groups. The plugin automatically creates the log subscriptions when the Forwarder's ARN is supplied via the `forwarderArn` option.
133
+ The [Datadog Forwarder Lambda function][11] needs to be installed and subscribed to your Lambda functions' log groups. The plugin automatically creates the log subscriptions when the Forwarder's ARN is supplied via the `forwarderArn` option.
133
134
 
134
135
  If you run into the following error, double check the supplied Forwarder ARN is correct and ensure it is from the same region and account where your serverless application is deployed.
135
136
 
@@ -257,7 +258,7 @@ You can also open an issue for a feature request.
257
258
 
258
259
  ## Contributing
259
260
 
260
- If you find an issue with this package and have a fix, please feel free to open a pull request following the [procedures][10].
261
+ If you find an issue with this package and have a fix, open a pull request following the [procedures][14].
261
262
 
262
263
  ## Community
263
264
 
@@ -271,13 +272,17 @@ This product includes software developed at Datadog (<https://www.datadoghq.com/
271
272
 
272
273
  [1]: https://docs.datadoghq.com/serverless/installation/python/?tab=serverlessframework
273
274
  [2]: https://docs.datadoghq.com/serverless/installation/nodejs/?tab=serverlessframework
274
- [3]: https://docs.datadoghq.com/account_management/api-app-keys/#api-keys
275
- [4]: https://pypi.org/project/datadog-lambda/
276
- [5]: https://www.npmjs.com/package/datadog-lambda-js
277
- [6]: https://webpack.js.org/configuration/externals/
278
- [7]: https://docs.datadoghq.com/serverless/forwarder/
279
- [8]: https://docs.datadoghq.com/serverless/datadog_lambda_library/extension/
280
- [9]: https://docs.aws.amazon.com/lambda/latest/dg/using-extensions.html
281
- [10]: https://github.com/DataDog/serverless-plugin-datadog/blob/master/CONTRIBUTING.md
282
- [11]: https://github.com/DataDog/serverless-plugin-datadog/blob/master/src/layers.json
283
- [12]: https://docs.datadoghq.com/tracing/setup_overview/configure_data_security/?tab=mongodb#replace-rules-for-tag-filtering
275
+ [3]: https://docs.datadoghq.com/serverless/installation/ruby/?tab=serverlessframework
276
+ [4]: https://docs.datadoghq.com/serverless/installation/java/?tab=serverlessframework
277
+ [5]: https://docs.datadoghq.com/serverless/installation/go/?tab=serverlessframework
278
+ [6]: https://docs.datadoghq.com/serverless/installation/dotnet/?tab=serverlessframework
279
+ [7]: https://docs.datadoghq.com/account_management/api-app-keys/#api-keys
280
+ [8]: https://pypi.org/project/datadog-lambda/
281
+ [9]: https://www.npmjs.com/package/datadog-lambda-js
282
+ [10]: https://webpack.js.org/configuration/externals/
283
+ [11]: https://docs.datadoghq.com/serverless/forwarder/
284
+ [12]: https://docs.datadoghq.com/serverless/datadog_lambda_library/extension/
285
+ [13]: https://docs.aws.amazon.com/lambda/latest/dg/using-extensions.html
286
+ [14]: https://github.com/DataDog/serverless-plugin-datadog/blob/master/CONTRIBUTING.md
287
+ [15]: https://github.com/DataDog/serverless-plugin-datadog/blob/master/src/layers.json
288
+ [16]: https://docs.datadoghq.com/tracing/setup_overview/configure_data_security/?tab=mongodb#replace-rules-for-tag-filtering
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "serverless-plugin-datadog",
3
- "version": "4.1.3",
3
+ "version": "5.0.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",
@@ -27,7 +27,7 @@
27
27
  "jest-environment-node": "^26.6.2",
28
28
  "mock-fs": "4.13.0",
29
29
  "prettier": "^2.2.1",
30
- "serverless": "2.63.0",
30
+ "serverless": "3.7.5",
31
31
  "ts-jest": "^26.4.4",
32
32
  "tslint": "^6.1.3",
33
33
  "typescript": "^4.1.3"
package/dist/src/env.d.ts CHANGED
@@ -29,10 +29,14 @@ export interface Configuration {
29
29
  [key: string]: any;
30
30
  };
31
31
  }[];
32
+ failOnError: boolean;
32
33
  subscribeToAccessLogs: boolean;
33
34
  subscribeToExecutionLogs: boolean;
34
35
  customHandler?: string;
35
36
  }
37
+ export declare const ddServiceEnvVar = "DD_SERVICE";
38
+ export declare const ddEnvEnvVar = "DD_ENV";
39
+ export declare const ddVersionEnvVar = "DD_VERSION";
36
40
  export declare const ddTagsEnvVar = "DD_TAGS";
37
41
  export declare const defaultConfiguration: Configuration;
38
42
  export declare function setEnvConfiguration(config: Configuration, handlers: FunctionInfo[]): void;
@@ -1 +1 @@
1
- {"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../src/env.ts"],"names":[],"mappings":"AAQA,OAAO,OAAO,MAAM,4BAA4B,CAAC;AACjD,OAAO,EAAE,YAAY,EAA8B,MAAM,SAAS,CAAC;AAEnE,MAAM,WAAW,aAAa;IAE5B,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,SAAS,EAAE,OAAO,CAAC;IAEnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAE/B,IAAI,EAAE,MAAM,CAAC;IAEb,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAE7B,kBAAkB,EAAE,OAAO,CAAC;IAE5B,iBAAiB,EAAE,OAAO,CAAC;IAE3B,eAAe,EAAE,OAAO,CAAC;IAEzB,YAAY,EAAE,OAAO,CAAC;IAEtB,YAAY,EAAE,OAAO,CAAC;IAGtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IAInB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAI7B,UAAU,EAAE,OAAO,CAAC;IAEpB,gBAAgB,EAAE,OAAO,CAAC;IAG1B,2BAA2B,EAAE,OAAO,CAAC;IAGrC,OAAO,EAAE,MAAM,EAAE,CAAC;IAElB,QAAQ,CAAC,EAAE;QAAE,CAAC,EAAE,EAAE,MAAM,GAAG;YAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;SAAE,CAAA;KAAE,EAAE,CAAC;IAGtD,qBAAqB,EAAE,OAAO,CAAC;IAE/B,wBAAwB,EAAE,OAAO,CAAC;IAGlC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAcD,eAAO,MAAM,YAAY,YAAY,CAAC;AAEtC,eAAO,MAAM,oBAAoB,EAAE,aAiBlC,CAAC;AAEF,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,YAAY,EAAE,QA0DlF;AAED,wBAAgB,SAAS,CAAC,OAAO,EAAE,OAAO,GAAG,aAAa,CA0BzD;AAED,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,OAAO,QAgB3D;AAiBD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,WAehD"}
1
+ {"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../src/env.ts"],"names":[],"mappings":"AAQA,OAAO,OAAO,MAAM,4BAA4B,CAAC;AACjD,OAAO,EAAE,YAAY,EAA8B,MAAM,SAAS,CAAC;AAEnE,MAAM,WAAW,aAAa;IAE5B,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,SAAS,EAAE,OAAO,CAAC;IAEnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAE/B,IAAI,EAAE,MAAM,CAAC;IAEb,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAE7B,kBAAkB,EAAE,OAAO,CAAC;IAE5B,iBAAiB,EAAE,OAAO,CAAC;IAE3B,eAAe,EAAE,OAAO,CAAC;IAEzB,YAAY,EAAE,OAAO,CAAC;IAEtB,YAAY,EAAE,OAAO,CAAC;IAGtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IAInB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAI7B,UAAU,EAAE,OAAO,CAAC;IAEpB,gBAAgB,EAAE,OAAO,CAAC;IAG1B,2BAA2B,EAAE,OAAO,CAAC;IAGrC,OAAO,EAAE,MAAM,EAAE,CAAC;IAElB,QAAQ,CAAC,EAAE;QAAE,CAAC,EAAE,EAAE,MAAM,GAAG;YAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;SAAE,CAAA;KAAE,EAAE,CAAC;IAGtD,WAAW,EAAE,OAAO,CAAC;IAErB,qBAAqB,EAAE,OAAO,CAAC;IAE/B,wBAAwB,EAAE,OAAO,CAAC;IAGlC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAcD,eAAO,MAAM,eAAe,eAAe,CAAC;AAC5C,eAAO,MAAM,WAAW,WAAW,CAAC;AACpC,eAAO,MAAM,eAAe,eAAe,CAAC;AAC5C,eAAO,MAAM,YAAY,YAAY,CAAC;AAkBtC,eAAO,MAAM,oBAAoB,EAAE,aAkBlC,CAAC;AAEF,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,YAAY,EAAE,QA6FlF;AAMD,wBAAgB,SAAS,CAAC,OAAO,EAAE,OAAO,GAAG,aAAa,CA0BzD;AAED,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,OAAO,QAgB3D;AAiBD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,WAehD"}
package/dist/src/env.js CHANGED
@@ -7,7 +7,7 @@
7
7
  * Copyright 2021 Datadog, Inc.
8
8
  */
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.hasWebpackPlugin = exports.forceExcludeDepsFromWebpack = exports.getConfig = exports.setEnvConfiguration = exports.defaultConfiguration = exports.ddTagsEnvVar = void 0;
10
+ exports.hasWebpackPlugin = exports.forceExcludeDepsFromWebpack = exports.getConfig = exports.setEnvConfiguration = exports.defaultConfiguration = exports.ddTagsEnvVar = exports.ddVersionEnvVar = exports.ddEnvEnvVar = exports.ddServiceEnvVar = void 0;
11
11
  const layer_1 = require("./layer");
12
12
  const webpackPluginName = "serverless-webpack";
13
13
  const apiKeyEnvVar = "DD_API_KEY";
@@ -21,7 +21,24 @@ const ddMergeXrayTracesEnvVar = "DD_MERGE_XRAY_TRACES";
21
21
  const logInjectionEnvVar = "DD_LOGS_INJECTION";
22
22
  const ddLogsEnabledEnvVar = "DD_SERVERLESS_LOGS_ENABLED";
23
23
  const ddCaptureLambdaPayloadEnvVar = "DD_CAPTURE_LAMBDA_PAYLOAD";
24
+ exports.ddServiceEnvVar = "DD_SERVICE";
25
+ exports.ddEnvEnvVar = "DD_ENV";
26
+ exports.ddVersionEnvVar = "DD_VERSION";
24
27
  exports.ddTagsEnvVar = "DD_TAGS";
28
+ // .NET tracer env variables
29
+ const ENABLE_PROFILING_ENV_VAR = "CORECLR_ENABLE_PROFILING";
30
+ const PROFILER_ENV_VAR = "CORECLR_PROFILER";
31
+ const PROFILER_PATH_ENV_VAR = "CORECLR_PROFILER_PATH";
32
+ const DOTNET_TRACER_HOME_ENV_VAR = "DD_DOTNET_TRACER_HOME";
33
+ const CORECLR_ENABLE_PROFILING = "1";
34
+ const CORECLR_PROFILER = "{846F5F1C-F9AE-4B07-969E-05C26BC060D8}";
35
+ const CORECLR_PROFILER_PATH = "/opt/datadog/Datadog.Trace.ClrProfiler.Native.so";
36
+ const DD_DOTNET_TRACER_HOME = "/opt/datadog";
37
+ // Java tracer env variables
38
+ const JAVA_TOOL_OPTIONS_VAR = "JAVA_TOOL_OPTIONS";
39
+ const JAVA_TOOL_OPTIONS = '-javaagent:"/opt/java/lib/dd-java-agent.jar" -XX:+TieredCompilation -XX:TieredStopAtLevel=1';
40
+ const JAVA_JMXFETCH_ENABLED_VAR = "DD_JMXFETCH_ENABLED";
41
+ const JAVA_JMXFETCH_ENABLED = false;
25
42
  exports.defaultConfiguration = {
26
43
  addLayers: true,
27
44
  flushMetricsToLogs: true,
@@ -39,12 +56,14 @@ exports.defaultConfiguration = {
39
56
  subscribeToExecutionLogs: false,
40
57
  enableDDLogs: true,
41
58
  captureLambdaPayload: false,
59
+ failOnError: false,
42
60
  };
43
61
  function setEnvConfiguration(config, handlers) {
44
- handlers.forEach(({ handler }) => {
45
- var _a;
62
+ handlers.forEach(({ handler, type }) => {
63
+ var _a, _b;
46
64
  (_a = handler.environment) !== null && _a !== void 0 ? _a : (handler.environment = {});
47
65
  const environment = handler.environment;
66
+ const functionName = (_b = handler.name) !== null && _b !== void 0 ? _b : "";
48
67
  if (process.env.DATADOG_API_KEY !== undefined &&
49
68
  environment[apiKeyEnvVar] === undefined &&
50
69
  // Only set this from the environment if all other methods of authentication
@@ -94,9 +113,52 @@ function setEnvConfiguration(config, handlers) {
94
113
  if (environment[ddCaptureLambdaPayloadEnvVar] === undefined) {
95
114
  environment[ddCaptureLambdaPayloadEnvVar] = config.captureLambdaPayload;
96
115
  }
116
+ if (type === layer_1.RuntimeType.DOTNET) {
117
+ if (environment[ENABLE_PROFILING_ENV_VAR] === undefined) {
118
+ environment[ENABLE_PROFILING_ENV_VAR] = CORECLR_ENABLE_PROFILING;
119
+ }
120
+ else if (environment[ENABLE_PROFILING_ENV_VAR] !== CORECLR_ENABLE_PROFILING) {
121
+ throwEnvVariableError("CORECLR_ENABLE_PROFILING", CORECLR_ENABLE_PROFILING, functionName);
122
+ }
123
+ if (environment[PROFILER_ENV_VAR] === undefined) {
124
+ environment[PROFILER_ENV_VAR] = CORECLR_PROFILER;
125
+ }
126
+ else if (environment[PROFILER_ENV_VAR] !== CORECLR_PROFILER) {
127
+ throwEnvVariableError("CORECLR_PROFILER", CORECLR_PROFILER, functionName);
128
+ }
129
+ if (environment[PROFILER_PATH_ENV_VAR] === undefined) {
130
+ environment[PROFILER_PATH_ENV_VAR] = CORECLR_PROFILER_PATH;
131
+ }
132
+ else if (environment[PROFILER_PATH_ENV_VAR] !== CORECLR_PROFILER_PATH) {
133
+ throwEnvVariableError("CORECLR_PROFILER_PATH", CORECLR_PROFILER_PATH, functionName);
134
+ }
135
+ if (environment[DOTNET_TRACER_HOME_ENV_VAR] === undefined) {
136
+ environment[DOTNET_TRACER_HOME_ENV_VAR] = DD_DOTNET_TRACER_HOME;
137
+ }
138
+ else if (environment[DOTNET_TRACER_HOME_ENV_VAR] !== DD_DOTNET_TRACER_HOME) {
139
+ throwEnvVariableError("DD_DOTNET_TRACER_HOME", DD_DOTNET_TRACER_HOME, functionName);
140
+ }
141
+ }
142
+ if (type === layer_1.RuntimeType.JAVA) {
143
+ if (environment[JAVA_TOOL_OPTIONS_VAR] === undefined) {
144
+ environment[JAVA_TOOL_OPTIONS_VAR] = JAVA_TOOL_OPTIONS;
145
+ }
146
+ else if (environment[JAVA_TOOL_OPTIONS_VAR] !== JAVA_TOOL_OPTIONS) {
147
+ throwEnvVariableError("JAVA_TOOL_OPTIONS", JAVA_TOOL_OPTIONS, functionName);
148
+ }
149
+ if (environment[JAVA_JMXFETCH_ENABLED_VAR] === undefined) {
150
+ environment[JAVA_JMXFETCH_ENABLED_VAR] = JAVA_JMXFETCH_ENABLED;
151
+ }
152
+ else if (environment[JAVA_JMXFETCH_ENABLED_VAR] !== JAVA_JMXFETCH_ENABLED) {
153
+ throwEnvVariableError("DD_JMXFETCH_ENABLED", `${JAVA_JMXFETCH_ENABLED}`, functionName);
154
+ }
155
+ }
97
156
  });
98
157
  }
99
158
  exports.setEnvConfiguration = setEnvConfiguration;
159
+ function throwEnvVariableError(variable, value, functionName) {
160
+ throw new Error(`Environment variable ${variable} should be set to ${value} for function ${functionName}`);
161
+ }
100
162
  function getConfig(service) {
101
163
  var _a, _b, _c, _d, _e, _f;
102
164
  let custom = service.custom;
@@ -1 +1 @@
1
- {"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/env.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/env.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAwBhD,MAAM,WAAW,0BAA2B,SAAQ,kBAAkB;IACpE,IAAI,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IACjC,WAAW,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;CACzC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAqChD,MAAM,WAAW,0BAA2B,SAAQ,kBAAkB;IACpE,IAAI,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IACjC,WAAW,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;CACzC"}
package/dist/src/index.js CHANGED
@@ -52,6 +52,7 @@ var TagKeys;
52
52
  (function (TagKeys) {
53
53
  TagKeys["Service"] = "service";
54
54
  TagKeys["Env"] = "env";
55
+ TagKeys["Version"] = "version";
55
56
  TagKeys["Plugin"] = "dd_sls_plugin";
56
57
  })(TagKeys || (TagKeys = {}));
57
58
  module.exports = class ServerlessPlugin {
@@ -116,10 +117,29 @@ module.exports = class ServerlessPlugin {
116
117
  this.serverless.cli.log("Adding Datadog Lambda Extension Layer to functions");
117
118
  this.debugLogHandlers(handlers);
118
119
  (0, layer_1.applyExtensionLayer)(this.serverless.service, handlers, allLayers);
120
+ handlers.forEach((functionInfo) => {
121
+ if (functionInfo.type === layer_1.RuntimeType.DOTNET) {
122
+ this.serverless.cli.log("Adding .NET Tracing Layer to functions");
123
+ this.debugLogHandlers(handlers);
124
+ (0, layer_1.applyDotnetTracingLayer)(this.serverless.service, functionInfo, allLayers);
125
+ }
126
+ else if (functionInfo.type === layer_1.RuntimeType.JAVA) {
127
+ this.serverless.cli.log("Adding Java Tracing Layer to functions");
128
+ this.debugLogHandlers(handlers);
129
+ (0, layer_1.applyJavaTracingLayer)(this.serverless.service, functionInfo, allLayers);
130
+ }
131
+ });
119
132
  }
120
133
  else {
121
134
  this.serverless.cli.log("Skipping adding Lambda Extension Layer");
122
135
  }
136
+ if (config.addExtension) {
137
+ this.serverless.cli.log("Adding Datadog Env Vars");
138
+ this.addDDEnvVars(handlers);
139
+ }
140
+ if (config.forwarderArn !== undefined || config.forwarderArn !== undefined) {
141
+ this.addDDTags(handlers);
142
+ }
123
143
  let tracingMode = tracing_1.TracingMode.NONE;
124
144
  if (config.enableXrayTracing && config.enableDDTracing) {
125
145
  tracingMode = tracing_1.TracingMode.HYBRID;
@@ -160,18 +180,23 @@ module.exports = class ServerlessPlugin {
160
180
  this.serverless.cli.log(error);
161
181
  }
162
182
  }
163
- this.addTags(handlers, config.enableTags);
183
+ if (datadogForwarderArn && config.addExtension) {
184
+ this.serverless.cli.log("Warning: Datadog Lambda Extension and forwarder are both enabled. Only APIGateway log groups will be subscribed to the forwarder.");
185
+ }
186
+ this.addTags(handlers, config.enableTags, datadogForwarderArn !== undefined);
164
187
  const simpleGit = yield (0, git_1.newSimpleGit)();
165
- if (config.enableSourceCodeIntegration &&
166
- ((_a = process.env.DATADOG_API_KEY) !== null && _a !== void 0 ? _a : config.apiKey) !== undefined &&
167
- simpleGit !== undefined &&
168
- (yield simpleGit.checkIsRepo())) {
169
- try {
170
- yield this.addSourceCodeIntegration(handlers, simpleGit, ((_b = process.env.DATADOG_API_KEY) !== null && _b !== void 0 ? _b : config.apiKey), config.site);
171
- }
172
- catch (err) {
173
- this.serverless.cli.log(`Error occurred when adding source code integration: ${err}`);
174
- return;
188
+ if (((_a = process.env.DATADOG_API_KEY) !== null && _a !== void 0 ? _a : config.apiKey) === undefined) {
189
+ this.serverless.cli.log("Skipping installing GitHub integration because Datadog credentials were not found. Please set either DATADOG_API_KEY in your environment, or set the apiKey parameter in Serverless.");
190
+ }
191
+ else {
192
+ if (config.enableSourceCodeIntegration && simpleGit !== undefined && (yield simpleGit.checkIsRepo())) {
193
+ try {
194
+ yield this.addSourceCodeIntegration(handlers, simpleGit, ((_b = process.env.DATADOG_API_KEY) !== null && _b !== void 0 ? _b : config.apiKey), config.site);
195
+ }
196
+ catch (err) {
197
+ this.serverless.cli.log(`Error occurred when adding source code integration: ${err}`);
198
+ return;
199
+ }
175
200
  }
176
201
  }
177
202
  (0, wrapper_1.redirectHandlers)(handlers, config.addLayers, config.customHandler);
@@ -204,6 +229,9 @@ module.exports = class ServerlessPlugin {
204
229
  catch (err) {
205
230
  if (err instanceof Error) {
206
231
  this.serverless.cli.log(`Error occurred when configuring monitors: ${err.message}`);
232
+ if (config.failOnError) {
233
+ throw err;
234
+ }
207
235
  }
208
236
  }
209
237
  }
@@ -222,15 +250,85 @@ module.exports = class ServerlessPlugin {
222
250
  }
223
251
  }
224
252
  }
253
+ /**
254
+ * Check for service, env, version, and additional tags at the custom level.
255
+ * If these don't already exsist on the function level as env vars, adds them as DD_XXX env vars
256
+ */
257
+ addDDEnvVars(handlers) {
258
+ const provider = this.serverless.service.provider;
259
+ const service = this.serverless.service;
260
+ let custom = service.custom;
261
+ if (custom === undefined) {
262
+ custom = {};
263
+ }
264
+ handlers.forEach(({ handler }) => {
265
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r;
266
+ (_a = handler.environment) !== null && _a !== void 0 ? _a : (handler.environment = {});
267
+ const environment = handler.environment;
268
+ (_b = provider.environment) !== null && _b !== void 0 ? _b : (provider.environment = {});
269
+ const providerEnvironment = provider.environment;
270
+ if ((_c = custom === null || custom === void 0 ? void 0 : custom.datadog) === null || _c === void 0 ? void 0 : _c.service) {
271
+ (_d = environment[env_1.ddServiceEnvVar]) !== null && _d !== void 0 ? _d : (environment[env_1.ddServiceEnvVar] = (_e = providerEnvironment[env_1.ddServiceEnvVar]) !== null && _e !== void 0 ? _e : custom.datadog.service);
272
+ }
273
+ if ((_f = custom === null || custom === void 0 ? void 0 : custom.datadog) === null || _f === void 0 ? void 0 : _f.env) {
274
+ (_g = environment[env_1.ddEnvEnvVar]) !== null && _g !== void 0 ? _g : (environment[env_1.ddEnvEnvVar] = (_h = providerEnvironment[env_1.ddEnvEnvVar]) !== null && _h !== void 0 ? _h : custom.datadog.env);
275
+ }
276
+ if ((_j = custom === null || custom === void 0 ? void 0 : custom.datadog) === null || _j === void 0 ? void 0 : _j.version) {
277
+ (_k = environment[env_1.ddVersionEnvVar]) !== null && _k !== void 0 ? _k : (environment[env_1.ddVersionEnvVar] = (_l = providerEnvironment[env_1.ddVersionEnvVar]) !== null && _l !== void 0 ? _l : custom.datadog.version);
278
+ }
279
+ if ((_m = custom === null || custom === void 0 ? void 0 : custom.datadog) === null || _m === void 0 ? void 0 : _m.tags) {
280
+ (_o = environment[env_1.ddTagsEnvVar]) !== null && _o !== void 0 ? _o : (environment[env_1.ddTagsEnvVar] = (_p = providerEnvironment[env_1.ddTagsEnvVar]) !== null && _p !== void 0 ? _p : custom.datadog.tags);
281
+ }
282
+ // default to service and stage if env vars aren't set
283
+ (_q = environment[env_1.ddServiceEnvVar]) !== null && _q !== void 0 ? _q : (environment[env_1.ddServiceEnvVar] = service.getServiceName());
284
+ (_r = environment[env_1.ddEnvEnvVar]) !== null && _r !== void 0 ? _r : (environment[env_1.ddEnvEnvVar] = this.serverless.getProvider("aws").getStage());
285
+ });
286
+ }
287
+ /**
288
+ * Check for service, env, version, and additional tags at the custom level.
289
+ * If these tags don't already exsist on the function level, adds them as tags
290
+ */
291
+ addDDTags(handlers) {
292
+ const service = this.serverless.service;
293
+ let custom = service.custom;
294
+ if (custom === undefined) {
295
+ custom = {};
296
+ }
297
+ handlers.forEach(({ handler }) => {
298
+ var _a, _b, _c, _d, _e, _f, _g, _h;
299
+ var _j, _k, _l;
300
+ (_a = handler.tags) !== null && _a !== void 0 ? _a : (handler.tags = {});
301
+ const tags = handler.tags;
302
+ if ((_b = custom === null || custom === void 0 ? void 0 : custom.datadog) === null || _b === void 0 ? void 0 : _b.service) {
303
+ (_c = tags[_j = TagKeys.Service]) !== null && _c !== void 0 ? _c : (tags[_j] = custom.datadog.service);
304
+ }
305
+ if ((_d = custom === null || custom === void 0 ? void 0 : custom.datadog) === null || _d === void 0 ? void 0 : _d.env) {
306
+ (_e = tags[_k = TagKeys.Env]) !== null && _e !== void 0 ? _e : (tags[_k] = custom.datadog.env);
307
+ }
308
+ if ((_f = custom === null || custom === void 0 ? void 0 : custom.datadog) === null || _f === void 0 ? void 0 : _f.version) {
309
+ (_g = tags[_l = TagKeys.Version]) !== null && _g !== void 0 ? _g : (tags[_l] = custom.datadog.version);
310
+ }
311
+ if ((_h = custom === null || custom === void 0 ? void 0 : custom.datadog) === null || _h === void 0 ? void 0 : _h.tags) {
312
+ const tagsArray = custom.datadog.tags.split(",");
313
+ tagsArray.forEach((tag) => {
314
+ var _a;
315
+ const [key, value] = tag.split(":");
316
+ if (key && value) {
317
+ (_a = tags[key]) !== null && _a !== void 0 ? _a : (tags[key] = value);
318
+ }
319
+ });
320
+ }
321
+ });
322
+ }
225
323
  /**
226
324
  * Check for service and env tags on provider level (under tags and stackTags),
227
325
  * as well as function level. Automatically create tags for service and env with
228
326
  * properties from deployment configurations if needed; does not override any existing values.
229
327
  */
230
- addTags(handlers, enableTags) {
328
+ addTags(handlers, enableTags, usingForwarder) {
231
329
  const provider = this.serverless.service.provider;
232
330
  this.serverless.cli.log(`Adding Plugin Version ${package_json_1.version} tag`);
233
- if (enableTags) {
331
+ if (enableTags && usingForwarder) {
234
332
  this.serverless.cli.log(`Adding service and environment tags`);
235
333
  }
236
334
  handlers.forEach(({ handler }) => {
@@ -238,7 +336,7 @@ module.exports = class ServerlessPlugin {
238
336
  var _h, _j, _k, _l;
239
337
  (_a = handler.tags) !== null && _a !== void 0 ? _a : (handler.tags = {});
240
338
  handler.tags[TagKeys.Plugin] = `v${package_json_1.version}`;
241
- if (enableTags) {
339
+ if (enableTags && usingForwarder) {
242
340
  if (!((_b = provider.tags) === null || _b === void 0 ? void 0 : _b[TagKeys.Service]) && !((_c = provider.stackTags) === null || _c === void 0 ? void 0 : _c[TagKeys.Service])) {
243
341
  (_d = (_h = handler.tags)[_j = TagKeys.Service]) !== null && _d !== void 0 ? _d : (_h[_j] = this.serverless.service.getServiceName());
244
342
  }
@@ -256,6 +354,7 @@ module.exports = class ServerlessPlugin {
256
354
  return __awaiter(this, void 0, void 0, function* () {
257
355
  const sourceCodeIntegration = new source_code_integration_1.SourceCodeIntegration(apiKey, datadogSite, simpleGit);
258
356
  const gitCommitHash = yield sourceCodeIntegration.uploadGitMetadata();
357
+ this.serverless.cli.log(`Adding GitHub integration with git commit hash ${gitCommitHash}`);
259
358
  handlers.forEach(({ handler }) => {
260
359
  var _a;
261
360
  (_a = handler.environment) !== null && _a !== void 0 ? _a : (handler.environment = {});
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,12 @@ import Service from "serverless/classes/Service";
3
3
  export declare enum RuntimeType {
4
4
  NODE = 0,
5
5
  PYTHON = 1,
6
- UNSUPPORTED = 2
6
+ DOTNET = 2,
7
+ CUSTOM = 3,
8
+ JAVA = 4,
9
+ RUBY = 5,
10
+ GO = 6,
11
+ UNSUPPORTED = 7
7
12
  }
8
13
  export interface FunctionInfo {
9
14
  name: string;
@@ -33,6 +38,8 @@ export declare const armRuntimeKeys: {
33
38
  export declare function findHandlers(service: Service, exclude: string[], defaultRuntime?: string): FunctionInfo[];
34
39
  export declare function applyLambdaLibraryLayers(service: Service, handlers: FunctionInfo[], layers: LayerJSON): void;
35
40
  export declare function applyExtensionLayer(service: Service, handlers: FunctionInfo[], layers: LayerJSON): void;
41
+ export declare function applyDotnetTracingLayer(service: Service, handler: FunctionInfo, layers: LayerJSON): void;
42
+ export declare function applyJavaTracingLayer(service: Service, handler: FunctionInfo, layers: LayerJSON): void;
36
43
  export declare function pushLayerARN(layerARN: string, currentLayers: string[]): string[];
37
44
  export declare function isFunctionDefinitionHandler(funcDef: FunctionDefinition): funcDef is FunctionDefinitionHandler;
38
45
  //# sourceMappingURL=layer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"layer.d.ts","sourceRoot":"","sources":["../../src/layer.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAC3E,OAAO,OAAO,MAAM,4BAA4B,CAAC;AACjD,oBAAY,WAAW;IACrB,IAAI,IAAA;IACJ,MAAM,IAAA;IACN,WAAW,IAAA;CACZ;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,EAAE,0BAA0B,CAAC;IACpC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,eAAO,MAAM,mBAAmB,WAAW,CAAC;AAC5C,eAAO,MAAM,kBAAkB,UAAU,CAAC;AAC1C,eAAO,MAAM,oBAAoB,WAAsB,CAAC;AAGxD,MAAM,WAAW,0BAA2B,SAAQ,kBAAkB;IACpE,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE;QACP,CAAC,MAAM,EAAE,MAAM,GACX;YACE,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;SACvC,GACD,SAAS,CAAC;KACf,CAAC;CACH;AAED,eAAO,MAAM,aAAa,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,CAAA;CASvD,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CAInD,CAAC;AAEF,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,YAAY,EAAE,CAgBzG;AAED,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,MAAM,EAAE,SAAS,QA0BrG;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,MAAM,EAAE,SAAS,QA0BhG;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAIhF;AAED,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,IAAI,yBAAyB,CAE7G"}
1
+ {"version":3,"file":"layer.d.ts","sourceRoot":"","sources":["../../src/layer.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAC3E,OAAO,OAAO,MAAM,4BAA4B,CAAC;AACjD,oBAAY,WAAW;IACrB,IAAI,IAAA;IACJ,MAAM,IAAA;IACN,MAAM,IAAA;IACN,MAAM,IAAA;IACN,IAAI,IAAA;IACJ,IAAI,IAAA;IACJ,EAAE,IAAA;IACF,WAAW,IAAA;CACZ;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,EAAE,0BAA0B,CAAC;IACpC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,eAAO,MAAM,mBAAmB,WAAW,CAAC;AAC5C,eAAO,MAAM,kBAAkB,UAAU,CAAC;AAC1C,eAAO,MAAM,oBAAoB,WAAsB,CAAC;AAGxD,MAAM,WAAW,0BAA2B,SAAQ,kBAAkB;IACpE,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE;QACP,CAAC,MAAM,EAAE,MAAM,GACX;YACE,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;SACvC,GACD,SAAS,CAAC;KACf,CAAC;CACH;AAED,eAAO,MAAM,aAAa,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,CAAA;CAgBvD,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CAInD,CAAC;AAKF,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,YAAY,EAAE,CAgBzG;AAED,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,MAAM,EAAE,SAAS,QA0BrG;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,MAAM,EAAE,SAAS,QA0BhG;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,QAYjG;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,QAY/F;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAIhF;AAED,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,IAAI,yBAAyB,CAE7G"}