Skip to content

[File based config] Support for nocode rules embedded in declarative config YAML#2623

Merged
robsunday merged 5 commits intosignalfx:mainfrom
robsunday:fbc-nocode-embedded
Feb 12, 2026
Merged

[File based config] Support for nocode rules embedded in declarative config YAML#2623
robsunday merged 5 commits intosignalfx:mainfrom
robsunday:fbc-nocode-embedded

Conversation

@robsunday
Copy link
Copy Markdown
Contributor

@robsunday robsunday commented Feb 3, 2026

No Code Instrumentation rules can now be delivered inside the declarative config YAML file.
Example:

instrumentation/development:
  java:
    splunk:
      no_code:
        - class: foo.Foo
          method: foo
        - class: foo.Foo
          method: throwSomething

It is still possible to configure No Code Instrumentation using separate file.
For declarative config it's path should be provided with this snippet:

instrumentation/development:
  java:
    splunk:
      no_code_file: "/tmp/no-code.yaml"

If both forms are present in YAML, then the results are merged.

@robsunday robsunday requested review from a team as code owners February 3, 2026 12:23
public void beforeAgent(AutoConfiguredOpenTelemetrySdk autoConfiguredOpenTelemetrySdk) {
ConfigProperties config = getConfig(autoConfiguredOpenTelemetrySdk);
if (isDeclarativeConfig(autoConfiguredOpenTelemetrySdk)) {
processEmbeddedRules(getConfigProvider(autoConfiguredOpenTelemetrySdk));
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[for reviewer] To be discussed: Is it the right approach to merge rules from embedded rules and rules from external file? Maybe these options should be mutually exclusive?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[for reviewer] The PO preference is to have these options mutually exclusive

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think that you are free to choose. Merging certainly seems like it makes things more complicated, but it's fine if you wanna go that route.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Merging approach may lead to some confusion, so I also prefer mutually exclusive version.

…instrumentation/nocode/NocodeInitializer.java

Co-authored-by: jason plumb <75337021+breedx-splk@users.noreply.github.com>
@robsunday robsunday merged commit a0e206a into signalfx:main Feb 12, 2026
28 checks passed
@github-actions github-actions bot locked and limited conversation to collaborators Feb 12, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants