René's URL Explorer Experiment


Title: Stable Config file: target system properties in process_arguments and support template variables in YamlParser by mtoffl01 · Pull Request #8690 · DataDog/dd-trace-java · GitHub

Open Graph Title: Stable Config file: target system properties in process_arguments and support template variables in YamlParser by mtoffl01 · Pull Request #8690 · DataDog/dd-trace-java

X Title: Stable Config file: target system properties in process_arguments and support template variables in YamlParser by mtoffl01 · Pull Request #8690 · DataDog/dd-trace-java

Description: What Does This Do This PR adds support for matching system property keys in the Stable Configuration selector, even when those properties include values. For example, a selector with -Darg1 will now correctly match a Java process started with -Darg1=value. It also introduces support for template variables in the Stable Configuration file schema. These variables can resolve values from process arguments and environment variables. (See reference for more details.) Notes & Limitations: Scope Limitation: This change restricts process_arguments selectors and template variables to System Properties only. Required Format: System Properties must be referenced using their full -D prefix, without specifying a value (e.g., use -Dkey, not key nor -Dkey=value). Motivation Stable Config users must be able to target services based on the presence of a specific System Property, regardless of its value. For instance, -Darg1 should match any process started with -Darg1=abcd, -Darg1=xyz, etc. Currently, our only known use case for process_arguments selectors involves System Properties. If a need arises to support additional types of JVM arguments in the future, we can revisit and expand this functionality. Additional Notes Contributor Checklist Format the title according the contribution guidelines Assign the type: and (comp: or inst:) labels in addition to any usefull labels Don't use close, fix or any linking keywords when referencing an issue. Use solves instead, and assign the PR milestone to the issue Update the public documentation in case of new configuration flag or behavior Jira ticket: [PROJ-IDENT]

Open Graph Description: What Does This Do This PR adds support for matching system property keys in the Stable Configuration selector, even when those properties include values. For example, a selector with -Darg1 will no...

X Description: What Does This Do This PR adds support for matching system property keys in the Stable Configuration selector, even when those properties include values. For example, a selector with -Darg1 will no...

Opengraph URL: https://github.com/DataDog/dd-trace-java/pull/8690

X: @github

direct link

Domain: github.com

route-pattern/:user_id/:repository/pull/:id/commits/:range(.:format)
route-controllerpull_requests
route-actioncommits
fetch-noncev2:f6afc3a4-8741-9839-ea22-e3a7a30317eb
current-catalog-service-hashae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b
request-idDF1E:BC986:4C85840:662E1F0:6A655C49
html-safe-nonce89abf2c7db508b05e192680b36e14e3e6a870e24decedab79e0a8a72adaf279c
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJERjFFOkJDOTg2OjRDODU4NDA6NjYyRTFGMDo2QTY1NUM0OSIsInZpc2l0b3JfaWQiOiIxMTMwMzI1NjE0NzI4MTQxODk4IiwicmVnaW9uX2VkZ2UiOiJpYWQiLCJyZWdpb25fcmVuZGVyIjoiaWFkIn0=
visitor-hmaca61ec919bb76352ec115c2859e6d0bcf541c2c64f9509a9096b0d2e5990d5d54
hovercard-subject-tagpull_request:2451714419
github-keyboard-shortcutsrepository,pull-request-list,pull-request-conversation,pull-request-files-changed,copilot
google-site-verificationApib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I
octolytics-urlhttps://collector.github.com/github/collect
analytics-location///pull_requests/show/commits
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/DataDog/dd-trace-java/pull/8690/commits/24b86158accc9c48c5ab98a48e2b38e9f6278d9d
twitter:imagehttps://avatars.githubusercontent.com/u/46911781?s=400&v=4
twitter:cardsummary_large_image
og:imagehttps://avatars.githubusercontent.com/u/46911781?s=400&v=4
og:image:altWhat Does This Do This PR adds support for matching system property keys in the Stable Configuration selector, even when those properties include values. For example, a selector with -Darg1 will no...
og:site_nameGitHub
og:typeobject
hostnamegithub.com
expected-hostnamegithub.com
None52c76df668885aaff23b50bdca1fa1ea44ac9c1553e888ebc70ff1e4daa4625b
turbo-cache-controlno-preview
diff-viewunified
go-importgithub.com/DataDog/dd-trace-java git https://github.com/DataDog/dd-trace-java.git
octolytics-dimension-user_id365230
octolytics-dimension-user_loginDataDog
octolytics-dimension-repository_id89221572
octolytics-dimension-repository_nwoDataDog/dd-trace-java
octolytics-dimension-repository_publictrue
octolytics-dimension-repository_is_forkfalse
octolytics-dimension-repository_network_root_id89221572
octolytics-dimension-repository_network_root_nwoDataDog/dd-trace-java
turbo-body-classeslogged-out env-production page-responsive
disable-turbofalse
browser-stats-urlhttps://api.github.com/_private/browser/stats
browser-errors-urlhttps://api.github.com/_private/browser/errors
release309153364422b3c499922d1a2a6404910a58ed8e
ui-targetfull
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://github.com/DataDog/dd-trace-java/pull/8690/commits/24b86158accc9c48c5ab98a48e2b38e9f6278d9d#start-of-content
https://github.com/
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2FDataDog%2Fdd-trace-java%2Fpull%2F8690%2Fcommits%2F24b86158accc9c48c5ab98a48e2b38e9f6278d9d
GitHub CopilotWrite better code with AIhttps://github.com/features/copilot
GitHub Copilot appDirect agents from issue to mergehttps://github.com/features/ai/github-app
MCP RegistryNewIntegrate external toolshttps://github.com/mcp
ActionsAutomate any workflowhttps://github.com/features/actions
CodespacesInstant dev environmentshttps://github.com/features/codespaces
IssuesPlan and track workhttps://github.com/features/issues
Code ReviewManage code changeshttps://github.com/features/code-review
Code QualityEnforce quality at mergehttps://github.com/features/code-quality
GitHub Advanced SecurityFind and fix vulnerabilitieshttps://github.com/security/advanced-security
Code securitySecure your code as you buildhttps://github.com/security/advanced-security/code-security
Secret protectionStop leaks before they starthttps://github.com/security/advanced-security/secret-protection
Why GitHubhttps://github.com/why-github
Documentationhttps://docs.github.com
Bloghttps://github.blog
Changeloghttps://github.blog/changelog
Marketplacehttps://github.com/marketplace
View all featureshttps://github.com/features
Enterpriseshttps://github.com/enterprise
Small and medium teamshttps://github.com/team
Startupshttps://github.com/enterprise/startups
Nonprofitshttps://github.com/solutions/industry/nonprofits
App Modernizationhttps://github.com/solutions/use-case/app-modernization
DevSecOpshttps://github.com/solutions/use-case/devsecops
DevOpshttps://github.com/solutions/use-case/devops
CI/CDhttps://github.com/solutions/use-case/ci-cd
View all use caseshttps://github.com/solutions/use-case
Healthcarehttps://github.com/solutions/industry/healthcare
Financial serviceshttps://github.com/solutions/industry/financial-services
Manufacturinghttps://github.com/solutions/industry/manufacturing
Governmenthttps://github.com/solutions/industry/government
View all industrieshttps://github.com/solutions/industry
View all solutionshttps://github.com/solutions
AIhttps://github.com/resources/articles?topic=ai
Software Developmenthttps://github.com/resources/articles?topic=software-development
DevOpshttps://github.com/resources/articles?topic=devops
Securityhttps://github.com/resources/articles?topic=security
View all topicshttps://github.com/resources/articles
Customer storieshttps://github.com/customer-stories
Events & webinarshttps://github.com/resources/events
Ebooks & reportshttps://github.com/resources/whitepapers
Business insightshttps://github.com/solutions/executive-insights
GitHub Skillshttps://skills.github.com
Documentationhttps://docs.github.com
Customer supporthttps://support.github.com
Community forumhttps://github.com/orgs/community/discussions
Trust centerhttps://github.com/trust-center
Partnershttps://github.com/partners
View all resourceshttps://github.com/resources
GitHub SponsorsFund open source developershttps://github.com/open-source/sponsors
Security Labhttps://securitylab.github.com
Maintainer Communityhttps://maintainers.github.com
Acceleratorhttps://github.com/open-source/accelerator
GitHub Starshttps://stars.github.com
Archive Programhttps://archiveprogram.github.com
Topicshttps://github.com/topics
Trendinghttps://github.com/trending
Collectionshttps://github.com/collections
Enterprise platformAI-powered developer platformhttps://github.com/enterprise
GitHub Advanced SecurityEnterprise-grade security featureshttps://github.com/security/advanced-security
Copilot for BusinessEnterprise-grade AI featureshttps://github.com/features/copilot/copilot-business
Premium SupportEnterprise-grade 24/7 supporthttps://github.com/enterprise/premium-support
Pricinghttps://github.com/pricing
Search syntax tipshttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
documentationhttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2FDataDog%2Fdd-trace-java%2Fpull%2F8690%2Fcommits%2F24b86158accc9c48c5ab98a48e2b38e9f6278d9d
Sign up https://github.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fpull_requests%2Fshow%2Fcommits&source=header-repo&source_repo=DataDog%2Fdd-trace-java
Reloadhttps://github.com/DataDog/dd-trace-java/pull/8690/commits/24b86158accc9c48c5ab98a48e2b38e9f6278d9d
Reloadhttps://github.com/DataDog/dd-trace-java/pull/8690/commits/24b86158accc9c48c5ab98a48e2b38e9f6278d9d
Reloadhttps://github.com/DataDog/dd-trace-java/pull/8690/commits/24b86158accc9c48c5ab98a48e2b38e9f6278d9d
Please reload this pagehttps://github.com/DataDog/dd-trace-java/pull/8690/commits/24b86158accc9c48c5ab98a48e2b38e9f6278d9d
DataDog https://github.com/DataDog
dd-trace-javahttps://github.com/DataDog/dd-trace-java
Notifications https://github.com/login?return_to=%2FDataDog%2Fdd-trace-java
Fork 347 https://github.com/login?return_to=%2FDataDog%2Fdd-trace-java
Star 727 https://github.com/login?return_to=%2FDataDog%2Fdd-trace-java
Code https://github.com/DataDog/dd-trace-java
Issues 251 https://github.com/DataDog/dd-trace-java/issues
Pull requests 175 https://github.com/DataDog/dd-trace-java/pulls
Actions https://github.com/DataDog/dd-trace-java/actions
Security and quality 2 https://github.com/DataDog/dd-trace-java/security
Insights https://github.com/DataDog/dd-trace-java/pulse
Code https://github.com/DataDog/dd-trace-java
Issues https://github.com/DataDog/dd-trace-java/issues
Pull requests https://github.com/DataDog/dd-trace-java/pulls
Actions https://github.com/DataDog/dd-trace-java/actions
Security and quality https://github.com/DataDog/dd-trace-java/security
Insights https://github.com/DataDog/dd-trace-java/pulse
Sign up for GitHub https://github.com/signup?return_to=%2FDataDog%2Fdd-trace-java%2Fissues%2Fnew%2Fchoose
terms of servicehttps://docs.github.com/terms
privacy statementhttps://docs.github.com/privacy
Sign inhttps://github.com/login?return_to=%2FDataDog%2Fdd-trace-java%2Fissues%2Fnew%2Fchoose
mtoffl01https://github.com/mtoffl01
masterhttps://github.com/DataDog/dd-trace-java/tree/master
mtoff/scfg_fixhttps://github.com/DataDog/dd-trace-java/tree/mtoff/scfg_fix
Conversation 31 https://github.com/DataDog/dd-trace-java/pull/8690
Commits 17 https://github.com/DataDog/dd-trace-java/pull/8690/commits
Checks 0 https://github.com/DataDog/dd-trace-java/pull/8690/checks
Files changed https://github.com/DataDog/dd-trace-java/pull/8690/files
Please reload this pagehttps://github.com/DataDog/dd-trace-java/pull/8690/commits/24b86158accc9c48c5ab98a48e2b38e9f6278d9d
Stable Config file: target system properties in process_arguments and support template variables in YamlParser https://github.com/DataDog/dd-trace-java/pull/8690/commits/24b86158accc9c48c5ab98a48e2b38e9f6278d9d#top
Show all changes 17 commits https://github.com/DataDog/dd-trace-java/pull/8690/files
d112dc7 migrate CLIHelper to use a Map, parse system properties in key-vals mtoffl01 Apr 10, 2025 https://github.com/DataDog/dd-trace-java/pull/8690/commits/d112dc78f41d9569488555feb05d2b814cbbe09f
3ba99af Fix processTemplateVar logic to remove superfluous ':' mtoffl01 Apr 16, 2025 https://github.com/DataDog/dd-trace-java/pull/8690/commits/3ba99afb831f0e133a63b927242e6787f7bc1489
9caeb5d nits: javadocs mtoffl01 Apr 17, 2025 https://github.com/DataDog/dd-trace-java/pull/8690/commits/9caeb5daf369a54bdba9e62df59261b5bfda7268
d0f194b Move writeFileRaw helper to testutils mtoffl01 Apr 21, 2025 https://github.com/DataDog/dd-trace-java/pull/8690/commits/d0f194b1930a32b1182c49b05b2c9905f94375e7
457c288 Add YamlParser tests mtoffl01 Apr 21, 2025 https://github.com/DataDog/dd-trace-java/pull/8690/commits/457c2882697fc837f71d6861ae94d4c9b540c19b
06ae9ac Revert CLIHelper to use List; lazily load a Map cache for que… mtoffl01 Apr 29, 2025 https://github.com/DataDog/dd-trace-java/pull/8690/commits/06ae9acb25acd9e3e46b5306ee3a290d794b4471
06712dc reuse logic for adding to the vm args cache mtoffl01 Apr 29, 2025 https://github.com/DataDog/dd-trace-java/pull/8690/commits/06712dc39ebba2d4b8ec78ba425cd6c615db0ab4
0a1da8f apply github suggestions mtoffl01 May 1, 2025 https://github.com/DataDog/dd-trace-java/pull/8690/commits/0a1da8ff3e91a5a8dd7d4eecf2f5b437786dacc0
e106416 Move processTemplate yaml helper fns into StableConfigParser, along w… mtoffl01 May 1, 2025 https://github.com/DataDog/dd-trace-java/pull/8690/commits/e1064160dfec10b9f4e765a160700864f88a7c66
48adeaa Remove changes to CLIHelper; rely on System.getProperty instead mtoffl01 May 1, 2025 https://github.com/DataDog/dd-trace-java/pull/8690/commits/48adeaaf6f15b97471001e003ce3f4ca7ab43637
24b8615 optimize: return from processTemplate early if no {{ found mtoffl01 May 1, 2025 https://github.com/DataDog/dd-trace-java/pull/8690/commits/24b86158accc9c48c5ab98a48e2b38e9f6278d9d
cc76954 Add more test coverage to StableConfigParserTest mtoffl01 May 1, 2025 https://github.com/DataDog/dd-trace-java/pull/8690/commits/cc769546a3f00fcabe6f6e1eac07864322a655d7
afddf95 Merge branch 'master' into mtoff/scfg_fix mtoffl01 May 1, 2025 https://github.com/DataDog/dd-trace-java/pull/8690/commits/afddf953892c68dee34b4abc0f95a776f6d917da
fc4652c Optimize template processing to reduce use of substrings mcculls May 2, 2025 https://github.com/DataDog/dd-trace-java/pull/8690/commits/fc4652cc9a8f2a81636b75c34e026308ead4f5f9
e633f26 Introduce constants for repeated strings mcculls May 2, 2025 https://github.com/DataDog/dd-trace-java/pull/8690/commits/e633f267cd8e953431c0d7473eeb2090ad54900b
3c8b646 Remove FileUtils and all its references mtoffl01 May 5, 2025 https://github.com/DataDog/dd-trace-java/pull/8690/commits/3c8b646f0fe490d80e5fcde7a4175af5862596ce
96d2d2c Merge branch 'master' into mtoff/scfg_fix amarziali May 6, 2025 https://github.com/DataDog/dd-trace-java/pull/8690/commits/96d2d2c5f33d6f58717abe9e2627c90bde7b42e2
Clear filters https://github.com/DataDog/dd-trace-java/pull/8690/commits/24b86158accc9c48c5ab98a48e2b38e9f6278d9d
Please reload this pagehttps://github.com/DataDog/dd-trace-java/pull/8690/commits/24b86158accc9c48c5ab98a48e2b38e9f6278d9d
Please reload this pagehttps://github.com/DataDog/dd-trace-java/pull/8690/commits/24b86158accc9c48c5ab98a48e2b38e9f6278d9d
Prev https://github.com/DataDog/dd-trace-java/pull/8690/commits/48adeaaf6f15b97471001e003ce3f4ca7ab43637
Next https://github.com/DataDog/dd-trace-java/pull/8690/commits/cc769546a3f00fcabe6f6e1eac07864322a655d7
Please reload this pagehttps://github.com/DataDog/dd-trace-java/pull/8690/commits/24b86158accc9c48c5ab98a48e2b38e9f6278d9d
https://github.com/mtoffl01
mtoffl01https://github.com/DataDog/dd-trace-java/commits?author=mtoffl01
https://github.com/DataDog/dd-trace-java/blob/master/.github/CODEOWNERS#L42
internal-api/src/main/java/datadog/trace/bootstrap/config/provider/StableConfigParser.javahttps://github.com/DataDog/dd-trace-java/pull/8690/commits/24b86158accc9c48c5ab98a48e2b38e9f6278d9d#diff-2a08bf7de5052af4e3d0603640a8506c1daf74af274384913f04d02e563a2221
View file https://github.com/DataDog/dd-trace-java/blob/24b86158accc9c48c5ab98a48e2b38e9f6278d9d/internal-api/src/main/java/datadog/trace/bootstrap/config/provider/StableConfigParser.java
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/DataDog/dd-trace-java/pull/8690/commits/{{ revealButtonHref }}
https://github.com/DataDog/dd-trace-java/pull/8690/commits/24b86158accc9c48c5ab98a48e2b38e9f6278d9d#diff-2a08bf7de5052af4e3d0603640a8506c1daf74af274384913f04d02e563a2221
https://github.com/DataDog/dd-trace-java/pull/8690/commits/24b86158accc9c48c5ab98a48e2b38e9f6278d9d#diff-2a08bf7de5052af4e3d0603640a8506c1daf74af274384913f04d02e563a2221
https://github.com
Termshttps://docs.github.com/site-policy/github-terms/github-terms-of-service
Privacyhttps://docs.github.com/site-policy/privacy-policies/github-privacy-statement
Securityhttps://github.com/security
Statushttps://www.githubstatus.com/
Communityhttps://github.community/
Docshttps://docs.github.com/
Contacthttps://support.github.com?tags=dotcom-footer

Viewport: width=device-width


URLs of crawlers that visited me.