Skip to content

Dev/skruk/telemetry types config#19

Merged
sebastiankruk merged 23 commits intodynatrace-oss:release/0.9.2from
sebastiankruk:dev/skruk/telemetry-types-config
Nov 3, 2025
Merged

Dev/skruk/telemetry types config#19
sebastiankruk merged 23 commits intodynatrace-oss:release/0.9.2from
sebastiankruk:dev/skruk/telemetry-types-config

Conversation

@sebastiankruk
Copy link
Collaborator

No description provided.

@sebastiankruk sebastiankruk self-assigned this Oct 27, 2025
@sebastiankruk sebastiankruk added the enhancement New feature or request label Oct 27, 2025
@sebastiankruk sebastiankruk added this to the Version 0.9.2 milestone Oct 27, 2025
@sebastiankruk sebastiankruk marked this pull request as draft October 27, 2025 20:00
@sebastiankruk sebastiankruk requested a review from Copilot October 31, 2025 14:12
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This PR implements configurable telemetry types for plugins, allowing granular control over which telemetry channels (logs, metrics, events, spans, biz_events) each plugin can use. The changes refactor plugin return types from tuples to dictionaries and introduce a NoOpTelemetry class to disable specific telemetry types at runtime.

Key changes:

  • Plugin process() methods now return Dict[str, Dict[str, int]] instead of tuples for better clarity
  • Added TELEMETRY configuration to all plugin config files specifying allowed telemetry types
  • Introduced NoOpTelemetry class to handle disabled telemetry gracefully
  • Test infrastructure updated to validate telemetry type disabling functionality

Reviewed Changes

Copilot reviewed 71 out of 71 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
src/dtagent/plugins/*.py Refactored all plugin process() methods to return dictionaries with telemetry counts
src/dtagent/plugins/.config/.json Added TELEMETRY configuration arrays to specify allowed telemetry types per plugin
src/dtagent/otel/init.py Introduced NoOpTelemetry class for disabled telemetry handling
src/dtagent/agent.py Modified to inject NoOpTelemetry instances for disabled telemetry types
src/dtagent/init.py Added telemetry_allowed set tracking globally enabled telemetry types
test/plugins/*.py Updated all plugin tests to use new execute_telemetry_test helper with telemetry disabling
test/_utils.py Added execute_telemetry_test() helper for testing with disabled telemetry
test/_mocks/telemetry.py Updated to skip validation for disabled telemetry types
PLUGINS.md, ARCHITECTURE.md Updated documentation for new return format and telemetry configuration

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@sebastiankruk sebastiankruk marked this pull request as ready for review October 31, 2025 14:13
@sebastiankruk sebastiankruk requested a review from micjaki October 31, 2025 14:16
@sebastiankruk sebastiankruk merged commit 2fc4fe9 into dynatrace-oss:release/0.9.2 Nov 3, 2025
6 checks passed
@sebastiankruk sebastiankruk deleted the dev/skruk/telemetry-types-config branch November 3, 2025 13:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants