Skip to content

Conversation

@amithad
Copy link
Member

@amithad amithad commented Nov 18, 2025

Description

This feature allows agent developers to plug their own observability platform by overriding AK provided runner for the particualr agentic framework.

Type of Change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Documentation update
  • Refactoring (no functional changes)
  • Performance improvement
  • Test update
  • CI/CD update
  • Other (please describe):

Related Issues

Fixes #
Relates to #

Changes Made

Added a new parameter to pass the runner to Module constructor

Testing

  • Unit tests pass locally
  • Integration tests pass locally
  • Manual testing completed
  • New tests added for changes

Checklist

  • My code follows the project's style guidelines
  • I have performed a self-review of my code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • I have added tests that prove my fix is effective or that my feature works
  • New and existing unit tests pass locally with my changes
  • Any dependent changes have been merged and published

Screenshots (if applicable)

Additional Notes

Signed-off-by: Amitha Dissanayake <[email protected]>
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 introduces the capability for agent developers to integrate their own observability platforms by allowing custom runner overrides for different agentic frameworks.

Key Changes:

  • Added optional runner parameter to all module constructors (OpenAIModule, LangGraphModule, CrewAIModule, GoogleADKModule)
  • Updated runner initialization logic to prioritize custom runners over default trace configurations
  • Added comprehensive documentation and blog post content explaining how to implement custom tracing platforms

Reviewed Changes

Copilot reviewed 6 out of 6 changed files in this pull request and generated 6 comments.

Show a summary per file
File Description
docs/docs/advanced/traceability.md Added new section documenting how to integrate custom observability platforms with examples
docs/blog/2025-11-17-observability-support.md Updated blog post to reflect simplified custom runner initialization approach
ak-py/src/agentkernel/openai/openai.py Added optional runner parameter to OpenAIModule constructor with priority logic
ak-py/src/agentkernel/langgraph/langgraph.py Added optional runner parameter to LangGraphModule constructor with priority logic
ak-py/src/agentkernel/crewai/crewai.py Added optional runner parameter to CrewAIModule constructor with priority logic
ak-py/src/agentkernel/adk/adk.py Added optional runner parameter to GoogleADKModule constructor with priority logic

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

Copilot AI review requested due to automatic review settings November 18, 2025 04:20
@amithad amithad marked this pull request as ready for review November 18, 2025 04:22
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

Copilot reviewed 6 out of 6 changed files in this pull request and generated 6 comments.

Comments suppressed due to low confidence (4)

docs/docs/advanced/traceability.md:453

  • Spelling error: "supercedes" should be "supersedes".
## Summary

docs/blog/2025-11-17-observability-support.md:395

  • Spelling error: "supercedes" should be "supersedes".
    docs/blog/2025-11-17-observability-support.md:392
  • Remove spaces around the = operator in keyword arguments. According to PEP 8, keyword arguments should not have spaces around the equals sign. Change runner = MyCustomOpenAIRunner() to runner=MyCustomOpenAIRunner().
    docs/docs/advanced/traceability.md:439
  • The parameter order in the run method call is incorrect. According to the OpenAIRunner.run signature, the correct order is (agent, session, prompt), but this code shows (agent=agent, prompt=prompt, session=session) which has prompt before session. Change to: result = await super().run(agent=agent, session=session, prompt=prompt)

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

@tharindud tharindud merged commit 9fe4450 into develop Nov 18, 2025
6 checks passed
@tharindud tharindud deleted the feature/runner_configurability branch November 18, 2025 05:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants