Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adding check that default payloads is enabled #30600

Conversation

carlosroman
Copy link
Contributor

What does this PR do?

Motivation

Describe how to test/QA your changes

Possible Drawbacks / Trade-offs

Additional Notes

@agent-platform-auto-pr
Copy link
Contributor

agent-platform-auto-pr bot commented Oct 30, 2024

Test changes on VM

Use this command from test-infra-definitions to manually test this PR changes on a VM:

inv create-vm --pipeline-id=47931577 --os-family=ubuntu

Note: This applies to commit c1bff17

Copy link

Regression Detector

pkg/config/setup/config.go Outdated Show resolved Hide resolved
@carlosroman carlosroman force-pushed the carlosroman/AMLII-2147-error-tracking-backend-standalone branch from fcc9a3a to 56fea0d Compare October 30, 2024 14:41
@carlosroman carlosroman requested a review from hush-hush October 30, 2024 14:41
@carlosroman carlosroman force-pushed the carlosroman/AMLII-2147-error-tracking-backend-standalone branch from 56fea0d to e18a8a5 Compare October 30, 2024 15:01
@carlosroman carlosroman force-pushed the carlosroman/AMLII-2147-error-tracking-backend-standalone branch from e18a8a5 to 1e45c4f Compare October 30, 2024 15:05
@carlosroman carlosroman force-pushed the carlosroman/AMLII-2147-error-tracking-backend-standalone branch from d4e9190 to c1bff17 Compare October 31, 2024 09:13
@carlosroman carlosroman marked this pull request as ready for review October 31, 2024 09:19
@carlosroman carlosroman requested review from a team as code owners October 31, 2024 09:19
Copy link
Contributor

Serverless Benchmark Results

BenchmarkStartEndInvocation comparison between 953c6ba and 95e08ca.

tl;dr

Use these benchmarks as an insight tool during development.

  1. Skim down the vs base column in each chart. If there is a ~, then there was no statistically significant change to the benchmark. Otherwise, ensure the estimated percent change is either negative or very small.

  2. The last row of each chart is the geomean. Ensure this percentage is either negative or very small.

What is this benchmarking?

The BenchmarkStartEndInvocation compares the amount of time it takes to call the start-invocation and end-invocation endpoints. For universal instrumentation languages (Dotnet, Golang, Java, Ruby), this represents the majority of the duration overhead added by our tracing layer.

The benchmark is run using a large variety of lambda request payloads. In the charts below, there is one row for each event payload type.

How do I interpret these charts?

The charts below comes from benchstat. They represent the statistical change in duration (sec/op), memory overhead (B/op), and allocations (allocs/op).

The benchstat docs explain how to interpret these charts.

Before the comparison table, we see common file-level configuration. If there are benchmarks with different configuration (for example, from different packages), benchstat will print separate tables for each configuration.

The table then compares the two input files for each benchmark. It shows the median and 95% confidence interval summaries for each benchmark before and after the change, and an A/B comparison under "vs base". ... The p-value measures how likely it is that any differences were due to random chance (i.e., noise). The "~" means benchstat did not detect a statistically significant difference between the two inputs. ...

Note that "statistically significant" is not the same as "large": with enough low-noise data, even very small changes can be distinguished from noise and considered statistically significant. It is, of course, generally easier to distinguish large changes from noise.

Finally, the last row of the table shows the geometric mean of each column, giving an overall picture of how the benchmarks changed. Proportional changes in the geomean reflect proportional changes in the benchmarks. For example, given n benchmarks, if sec/op for one of them increases by a factor of 2, then the sec/op geomean will increase by a factor of ⁿ√2.

I need more help

First off, do not worry if the benchmarks are failing. They are not tests. The intention is for them to be a tool for you to use during development.

If you would like a hand interpreting the results come chat with us in #serverless-agent in the internal DataDog slack or in #serverless in the public DataDog slack. We're happy to help!

Benchmark stats
goos: linux
goarch: amd64
pkg: github.com/DataDog/datadog-agent/pkg/serverless/daemon
cpu: AMD EPYC 7763 64-Core Processor                
                                      │ baseline/benchmark.log │        current/benchmark.log        │
                                      │         sec/op         │    sec/op     vs base               │
api-gateway-appsec.json                            85.35µ ± 5%   83.17µ ± 21%       ~ (p=0.353 n=10)
api-gateway-kong-appsec.json                       68.10µ ± 3%   64.97µ ±  1%  -4.59% (p=0.000 n=10)
api-gateway-kong.json                              67.05µ ± 3%   63.82µ ±  4%  -4.83% (p=0.003 n=10)
api-gateway-non-proxy-async.json                   108.7µ ± 4%   100.1µ ±  3%  -7.92% (p=0.000 n=10)
api-gateway-non-proxy.json                         108.9µ ± 2%   104.1µ ±  4%  -4.49% (p=0.000 n=10)
api-gateway-websocket-connect.json                 70.18µ ± 2%   67.14µ ±  1%  -4.33% (p=0.000 n=10)
api-gateway-websocket-default.json                 62.99µ ± 1%   60.88µ ±  2%  -3.34% (p=0.000 n=10)
api-gateway-websocket-disconnect.json              62.85µ ± 2%   60.38µ ±  2%  -3.92% (p=0.000 n=10)
api-gateway.json                                   115.0µ ± 2%   111.4µ ±  1%  -3.15% (p=0.000 n=10)
application-load-balancer.json                     64.70µ ± 2%   61.09µ ±  1%  -5.56% (p=0.000 n=10)
cloudfront.json                                    47.53µ ± 1%   46.02µ ±  1%  -3.17% (p=0.000 n=10)
cloudwatch-events.json                             39.00µ ± 2%   37.72µ ±  1%  -3.26% (p=0.000 n=10)
cloudwatch-logs.json                               66.04µ ± 1%   63.98µ ±  2%  -3.13% (p=0.001 n=10)
custom.json                                        31.86µ ± 1%   31.33µ ±  3%       ~ (p=0.075 n=10)
dynamodb.json                                      93.01µ ± 1%   91.28µ ±  1%  -1.87% (p=0.000 n=10)
empty.json                                         30.63µ ± 2%   29.13µ ±  1%  -4.89% (p=0.000 n=10)
eventbridge-custom.json                            48.33µ ± 4%   47.02µ ±  1%  -2.72% (p=0.000 n=10)
eventbridge-no-bus.json                            47.46µ ± 3%   45.69µ ±  1%  -3.73% (p=0.000 n=10)
eventbridge-no-timestamp.json                      47.08µ ± 2%   45.97µ ±  2%  -2.35% (p=0.000 n=10)
eventbridgesns.json                                63.33µ ± 2%   62.64µ ±  1%       ~ (p=0.165 n=10)
eventbridgesqs.json                                71.06µ ± 3%   69.32µ ±  2%  -2.45% (p=0.001 n=10)
http-api.json                                      72.63µ ± 1%   70.15µ ±  1%  -3.41% (p=0.000 n=10)
kinesis-batch.json                                 72.16µ ± 2%   68.82µ ±  2%  -4.63% (p=0.001 n=10)
kinesis.json                                       55.79µ ± 1%   53.68µ ±  2%  -3.79% (p=0.000 n=10)
s3.json                                            61.83µ ± 2%   59.52µ ±  2%  -3.73% (p=0.002 n=10)
sns-batch.json                                     92.75µ ± 1%   88.81µ ±  2%  -4.25% (p=0.002 n=10)
sns.json                                           69.16µ ± 3%   67.23µ ±  3%       ~ (p=0.052 n=10)
snssqs.json                                        118.0µ ± 1%   115.6µ ±  2%  -2.07% (p=0.023 n=10)
snssqs_no_dd_context.json                          108.8µ ± 3%   104.2µ ±  2%  -4.21% (p=0.000 n=10)
sqs-aws-header.json                                60.31µ ± 1%   58.97µ ±  3%  -2.21% (p=0.001 n=10)
sqs-batch.json                                     97.47µ ± 2%   94.39µ ±  2%  -3.16% (p=0.000 n=10)
sqs.json                                           75.49µ ± 2%   71.66µ ±  3%  -5.08% (p=0.000 n=10)
sqs_no_dd_context.json                             71.48µ ± 4%   67.09µ ±  3%  -6.14% (p=0.000 n=10)
stepfunction.json                                  50.23µ ± 3%   45.75µ ±  3%  -8.91% (p=0.000 n=10)
geomean                                            67.00µ        64.44µ        -3.82%

                                      │ baseline/benchmark.log │        current/benchmark.log        │
                                      │          B/op          │     B/op      vs base               │
api-gateway-appsec.json                           37.34Ki ± 0%   37.27Ki ± 0%  -0.18% (p=0.000 n=10)
api-gateway-kong-appsec.json                      26.93Ki ± 0%   26.93Ki ± 0%       ~ (p=0.698 n=10)
api-gateway-kong.json                             24.44Ki ± 0%   24.43Ki ± 0%       ~ (p=0.781 n=10)
api-gateway-non-proxy-async.json                  48.14Ki ± 0%   48.07Ki ± 0%  -0.15% (p=0.000 n=10)
api-gateway-non-proxy.json                        47.35Ki ± 0%   47.30Ki ± 0%  -0.11% (p=0.000 n=10)
api-gateway-websocket-connect.json                25.53Ki ± 0%   25.49Ki ± 0%  -0.15% (p=0.000 n=10)
api-gateway-websocket-default.json                21.44Ki ± 0%   21.39Ki ± 0%  -0.22% (p=0.000 n=10)
api-gateway-websocket-disconnect.json             21.22Ki ± 0%   21.18Ki ± 0%  -0.16% (p=0.000 n=10)
api-gateway.json                                  49.60Ki ± 0%   49.58Ki ± 0%  -0.04% (p=0.034 n=10)
application-load-balancer.json                    23.31Ki ± 0%   22.36Ki ± 0%  -4.06% (p=0.000 n=10)
cloudfront.json                                   17.67Ki ± 0%   17.65Ki ± 0%  -0.15% (p=0.007 n=10)
cloudwatch-events.json                            11.73Ki ± 0%   11.70Ki ± 0%  -0.31% (p=0.000 n=10)
cloudwatch-logs.json                              53.37Ki ± 0%   53.37Ki ± 0%       ~ (p=0.753 n=10)
custom.json                                       9.758Ki ± 0%   9.736Ki ± 0%  -0.23% (p=0.005 n=10)
dynamodb.json                                     40.80Ki ± 0%   40.76Ki ± 0%  -0.10% (p=0.000 n=10)
empty.json                                        9.311Ki ± 0%   9.292Ki ± 0%  -0.19% (p=0.030 n=10)
eventbridge-custom.json                           15.02Ki ± 0%   15.03Ki ± 0%       ~ (p=0.110 n=10)
eventbridge-no-bus.json                           14.02Ki ± 0%   13.99Ki ± 0%  -0.16% (p=0.016 n=10)
eventbridge-no-timestamp.json                     14.05Ki ± 0%   14.02Ki ± 0%  -0.22% (p=0.025 n=10)
eventbridgesns.json                               20.88Ki ± 1%   20.92Ki ± 0%       ~ (p=0.436 n=10)
eventbridgesqs.json                               25.16Ki ± 0%   25.11Ki ± 0%       ~ (p=0.184 n=10)
http-api.json                                     23.93Ki ± 0%   23.84Ki ± 0%  -0.39% (p=0.000 n=10)
kinesis-batch.json                                27.12Ki ± 0%   27.08Ki ± 0%       ~ (p=0.118 n=10)
kinesis.json                                      17.93Ki ± 0%   17.87Ki ± 0%  -0.32% (p=0.000 n=10)
s3.json                                           20.40Ki ± 0%   20.48Ki ± 0%  +0.41% (p=0.004 n=10)
sns-batch.json                                    39.96Ki ± 0%   39.86Ki ± 0%  -0.25% (p=0.009 n=10)
sns.json                                          25.18Ki ± 0%   25.12Ki ± 0%  -0.24% (p=0.043 n=10)
snssqs.json                                       53.89Ki ± 0%   53.81Ki ± 0%       ~ (p=0.247 n=10)
snssqs_no_dd_context.json                         47.58Ki ± 0%   47.47Ki ± 0%  -0.23% (p=0.037 n=10)
sqs-aws-header.json                               19.41Ki ± 1%   19.41Ki ± 1%       ~ (p=0.838 n=10)
sqs-batch.json                                    42.24Ki ± 0%   42.28Ki ± 0%       ~ (p=0.796 n=10)
sqs.json                                          26.23Ki ± 0%   26.25Ki ± 0%       ~ (p=0.393 n=10)
sqs_no_dd_context.json                            21.93Ki ± 1%   21.78Ki ± 0%  -0.69% (p=0.023 n=10)
stepfunction.json                                 14.27Ki ± 2%   14.29Ki ± 1%       ~ (p=0.631 n=10)
geomean                                           24.61Ki        24.55Ki       -0.24%

                                      │ baseline/benchmark.log │        current/benchmark.log        │
                                      │       allocs/op        │ allocs/op   vs base                 │
api-gateway-appsec.json                             629.5 ± 0%   629.0 ± 0%       ~ (p=1.000 n=10)
api-gateway-kong-appsec.json                        488.0 ± 0%   488.0 ± 0%       ~ (p=1.000 n=10)
api-gateway-kong.json                               466.0 ± 0%   466.0 ± 0%       ~ (p=1.000 n=10)
api-gateway-non-proxy-async.json                    725.5 ± 0%   725.0 ± 0%       ~ (p=0.350 n=10)
api-gateway-non-proxy.json                          716.0 ± 0%   716.0 ± 0%       ~ (p=1.000 n=10)
api-gateway-websocket-connect.json                  453.0 ± 0%   453.0 ± 0%       ~ (p=1.000 n=10) ¹
api-gateway-websocket-default.json                  379.0 ± 0%   379.0 ± 0%       ~ (p=1.000 n=10)
api-gateway-websocket-disconnect.json               370.0 ± 0%   370.0 ± 0%       ~ (p=0.582 n=10)
api-gateway.json                                    791.0 ± 0%   790.0 ± 0%       ~ (p=0.170 n=10)
application-load-balancer.json                      353.0 ± 0%   352.0 ± 0%  -0.28% (p=0.000 n=10)
cloudfront.json                                     284.0 ± 0%   283.5 ± 0%       ~ (p=0.350 n=10)
cloudwatch-events.json                              220.0 ± 0%   220.0 ± 0%       ~ (p=1.000 n=10)
cloudwatch-logs.json                                215.0 ± 0%   215.0 ± 0%       ~ (p=0.628 n=10)
custom.json                                         168.0 ± 0%   168.0 ± 1%       ~ (p=0.474 n=10)
dynamodb.json                                       589.0 ± 0%   589.0 ± 0%       ~ (p=0.582 n=10)
empty.json                                          160.0 ± 1%   160.0 ± 1%       ~ (p=1.000 n=10)
eventbridge-custom.json                             266.0 ± 0%   267.0 ± 0%       ~ (p=0.057 n=10)
eventbridge-no-bus.json                             258.0 ± 0%   257.0 ± 0%       ~ (p=0.179 n=10)
eventbridge-no-timestamp.json                       258.0 ± 0%   258.0 ± 0%       ~ (p=0.139 n=10)
eventbridgesns.json                                 324.5 ± 0%   325.5 ± 0%       ~ (p=0.068 n=10)
eventbridgesqs.json                                 367.0 ± 0%   366.5 ± 0%       ~ (p=0.742 n=10)
http-api.json                                       434.0 ± 0%   433.5 ± 0%       ~ (p=0.207 n=10)
kinesis-batch.json                                  392.0 ± 1%   391.0 ± 0%       ~ (p=0.310 n=10)
kinesis.json                                        286.0 ± 0%   286.0 ± 0%   0.00% (p=0.036 n=10)
s3.json                                             358.0 ± 0%   360.0 ± 0%  +0.56% (p=0.002 n=10)
sns-batch.json                                      479.0 ± 0%   477.5 ± 0%  -0.31% (p=0.021 n=10)
sns.json                                            347.0 ± 0%   346.0 ± 0%       ~ (p=0.111 n=10)
snssqs.json                                         478.5 ± 0%   477.5 ± 1%       ~ (p=0.512 n=10)
snssqs_no_dd_context.json                           436.0 ± 0%   435.5 ± 0%       ~ (p=0.530 n=10)
sqs-aws-header.json                                 286.0 ± 1%   285.5 ± 1%       ~ (p=0.909 n=10)
sqs-batch.json                                      515.5 ± 0%   516.0 ± 1%       ~ (p=0.987 n=10)
sqs.json                                            364.0 ± 0%   364.0 ± 1%       ~ (p=0.586 n=10)
sqs_no_dd_context.json                              350.0 ± 1%   348.0 ± 1%  -0.57% (p=0.032 n=10)
stepfunction.json                                   237.5 ± 1%   238.0 ± 1%       ~ (p=0.897 n=10)
geomean                                             367.1        366.9       -0.05%
¹ all samples are equal

@carlosroman carlosroman merged commit 9b44f30 into guillaume.barrier/add-infra-agent-config-option Nov 4, 2024
221 checks passed
@carlosroman carlosroman deleted the carlosroman/AMLII-2147-error-tracking-backend-standalone branch November 4, 2024 09:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants