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

Work around some docker pull limits #6617

Merged
merged 1 commit into from
Feb 3, 2025

Conversation

andrewlock
Copy link
Member

@andrewlock andrewlock commented Feb 3, 2025

Summary of changes

Add localImage: true when the agent has already been pre-pulled

Reason for change

We see occasional API limits being hit, despite pre-pulling the docker images in some cases. We can set localImage: true for these cases, which means we can use the local image instead.

Implementation details

In some cases we currently can't pre-pull the image. This applies primarily to Windows images (well, we don't do this currently, but maybe we could/should), or images where we use the Microsoft hosted agents instead of our own

Test coverage

This is the test, plus this explicit run

@andrewlock andrewlock added the area:builds project files, build scripts, pipelines, versioning, releases, packages label Feb 3, 2025
@andrewlock andrewlock requested a review from a team as a code owner February 3, 2025 10:57
@datadog-ddstaging
Copy link

datadog-ddstaging bot commented Feb 3, 2025

Datadog Report

Branch report: andrew/ci/work-around-some-docker-limits
Commit report: 8e64f52
Test service: dd-trace-dotnet

✅ 0 Failed, 244559 Passed, 2402 Skipped, 18h 39m 47.28s Total Time

@andrewlock
Copy link
Member Author

Execution-Time Benchmarks Report ⏱️

Execution-time results for samples comparing the following branches/commits:

Execution-time benchmarks measure the whole time it takes to execute a program. And are intended to measure the one-off costs. Cases where the execution time results for the PR are worse than latest master results are shown in red. The following thresholds were used for comparing the execution times:

  • Welch test with statistical test for significance of 5%
  • Only results indicating a difference greater than 5% and 5 ms are considered.

Note that these results are based on a single point-in-time result for each branch. For full results, see the dashboard.

Graphs show the p99 interval based on the mean and StdDev of the test run, as well as the mean value of the run (shown as a diamond below the graph).

gantt
    title Execution time (ms) FakeDbCommand (.NET Framework 4.6.2) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Baseline
    This PR (6617) - mean (69ms)  : 67, 72
     .   : milestone, 69,
    master - mean (69ms)  : 67, 71
     .   : milestone, 69,

    section CallTarget+Inlining+NGEN
    This PR (6617) - mean (995ms)  : 967, 1023
     .   : milestone, 995,
    master - mean (993ms)  : 970, 1016
     .   : milestone, 993,

Loading
gantt
    title Execution time (ms) FakeDbCommand (.NET Core 3.1) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Baseline
    This PR (6617) - mean (103ms)  : 101, 105
     .   : milestone, 103,
    master - mean (103ms)  : 101, 105
     .   : milestone, 103,

    section CallTarget+Inlining+NGEN
    This PR (6617) - mean (677ms)  : 660, 694
     .   : milestone, 677,
    master - mean (679ms)  : 665, 692
     .   : milestone, 679,

Loading
gantt
    title Execution time (ms) FakeDbCommand (.NET 6) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Baseline
    This PR (6617) - mean (90ms)  : 88, 92
     .   : milestone, 90,
    master - mean (90ms)  : 88, 91
     .   : milestone, 90,

    section CallTarget+Inlining+NGEN
    This PR (6617) - mean (634ms)  : 619, 650
     .   : milestone, 634,
    master - mean (633ms)  : 613, 653
     .   : milestone, 633,

Loading
gantt
    title Execution time (ms) HttpMessageHandler (.NET Framework 4.6.2) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Baseline
    This PR (6617) - mean (192ms)  : 184, 200
     .   : milestone, 192,
    master - mean (190ms)  : 183, 198
     .   : milestone, 190,

    section CallTarget+Inlining+NGEN
    This PR (6617) - mean (1,119ms)  : 1074, 1164
     .   : milestone, 1119,
    master - mean (1,096ms)  : 1061, 1131
     .   : milestone, 1096,

Loading
gantt
    title Execution time (ms) HttpMessageHandler (.NET Core 3.1) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Baseline
    This PR (6617) - mean (271ms)  : 265, 277
     .   : milestone, 271,
    master - mean (269ms)  : 265, 273
     .   : milestone, 269,

    section CallTarget+Inlining+NGEN
    This PR (6617) - mean (867ms)  : 837, 897
     .   : milestone, 867,
    master - mean (861ms)  : 833, 888
     .   : milestone, 861,

Loading
gantt
    title Execution time (ms) HttpMessageHandler (.NET 6) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Baseline
    This PR (6617) - mean (263ms)  : 258, 268
     .   : milestone, 263,
    master - mean (261ms)  : 258, 265
     .   : milestone, 261,

    section CallTarget+Inlining+NGEN
    This PR (6617) - mean (856ms)  : 820, 892
     .   : milestone, 856,
    master - mean (845ms)  : 811, 879
     .   : milestone, 845,

Loading

@andrewlock andrewlock merged commit 38958c8 into master Feb 3, 2025
138 of 140 checks passed
@andrewlock andrewlock deleted the andrew/ci/work-around-some-docker-limits branch February 3, 2025 13:35
@github-actions github-actions bot added this to the vNext-v3 milestone Feb 3, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area:builds project files, build scripts, pipelines, versioning, releases, packages
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants