-
Notifications
You must be signed in to change notification settings - Fork 3k
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
Initial pass at AppInsights sending custom events #899
Initial pass at AppInsights sending custom events #899
Conversation
### Motivation and Context Tracking user behaviour can identify the most active users and engagement. ### Description An initial attempt at integrating app insights and some functionally useful telemetry events that can act as a base for further work.
dotnet/src/SemanticKernel.Abstractions/Diagnostics/ITelemetryService.cs
Outdated
Show resolved
Hide resolved
samples/apps/copilot-chat-app/webapi/Services/AppInsightsUserTelemetryInitializerService.cs
Show resolved
Hide resolved
samples/apps/copilot-chat-app/webapi/Controllers/SemanticKernelController.cs
Outdated
Show resolved
Hide resolved
samples/apps/copilot-chat-app/webapi/Services/AppInsightsTelemetryService.cs
Show resolved
Hide resolved
samples/apps/copilot-chat-app/webapi/Services/AppInsightsUserTelemetryInitializerService.cs
Show resolved
Hide resolved
samples/apps/copilot-chat-app/webapi/Services/AppInsightsUserTelemetryInitializerService.cs
Show resolved
Hide resolved
samples/apps/copilot-chat-app/webapi/Services/AppInsightsTelemetryService.cs
Outdated
Show resolved
Hide resolved
samples/apps/copilot-chat-app/webapi/Services/AppInsightsTelemetryService.cs
Outdated
Show resolved
Hide resolved
samples/apps/copilot-chat-app/webapi/Services/AppInsightsTelemetryService.cs
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
See comments
Apologies for the delay on this, hoping to get back to fixing the defects mid next week. |
I've added some docs around using this including some example queries to get people started (as this may be the first time many people are experiencing KQL). I'm not sure if this is too verbose or not. Perhaps if the readme gets much longer we might want to pull the docs out into separate files |
…-appinsights Merging recent changes into proposed Application Insights additions.
All requested changes have been made.
### Motivation and Context Tracking high level user engagement of features can direct further development and enable measurements of active user counts. It is important to note that completions and conversations themselves should not be logged, just data useful in aggregate. ### Description This is an initial pass for review by the team. ### Motivation and Context <!-- Thank you for your contribution to the semantic-kernel repo! Please help reviewers and future users, providing the following information: 1. Why is this change required? 2. What problem does it solve? 3. What scenario does it contribute to? 4. If it fixes an open issue, please link to the issue here. --> 1. This change is essential for tracking user engagement and creating an audit trail of user activity. 2. This change adds a basic framework for tracking key telemetry events 3. This scenario enables management of those teams deploying instances to understand how their deployment is being used by their team. 4. This is not related to an open issue. ### Description <!-- Describe your changes, the overall approach, the underlying design. These notes will help understanding how your code works. Thanks! --> The overall design is to add a service accessible to controllers and other services that enables telemetry to be fired with minimal context. For this an abstract ITelemetryService interface was added, allowing systems to fire events on this from across the kernel without any dependencies on a specific implementation. ### Contribution Checklist <!-- Before submitting this PR, please make sure: --> - [X] The code builds clean without any errors or warnings - [X] The PR follows SK Contribution Guidelines (https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md) - [X] The code follows the .NET coding conventions (https://learn.microsoft.com/dotnet/csharp/fundamentals/coding-style/coding-conventions) verified with `dotnet format` - [] All unit tests pass, and I have added new tests where possible - _tests appear to fail locally for config related reasons._ - [ ] I didn't break anyone 😄 - _maybe myself, a bit..._ --------- Co-authored-by: Ian Norris <ianorr@microsoft.com> Co-authored-by: Adrian Bonar <56417140+adrianwyatt@users.noreply.github.com> Co-authored-by: Gil LaHaye <gillahaye@microsoft.com> Co-authored-by: Ben Thomas <ben.thomas@microsoft.com>
### Motivation and Context Tracking high level user engagement of features can direct further development and enable measurements of active user counts. It is important to note that completions and conversations themselves should not be logged, just data useful in aggregate. ### Description This is an initial pass for review by the team. ### Motivation and Context <!-- Thank you for your contribution to the semantic-kernel repo! Please help reviewers and future users, providing the following information: 1. Why is this change required? 2. What problem does it solve? 3. What scenario does it contribute to? 4. If it fixes an open issue, please link to the issue here. --> 1. This change is essential for tracking user engagement and creating an audit trail of user activity. 2. This change adds a basic framework for tracking key telemetry events 3. This scenario enables management of those teams deploying instances to understand how their deployment is being used by their team. 4. This is not related to an open issue. ### Description <!-- Describe your changes, the overall approach, the underlying design. These notes will help understanding how your code works. Thanks! --> The overall design is to add a service accessible to controllers and other services that enables telemetry to be fired with minimal context. For this an abstract ITelemetryService interface was added, allowing systems to fire events on this from across the kernel without any dependencies on a specific implementation. ### Contribution Checklist <!-- Before submitting this PR, please make sure: --> - [X] The code builds clean without any errors or warnings - [X] The PR follows SK Contribution Guidelines (https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md) - [X] The code follows the .NET coding conventions (https://learn.microsoft.com/dotnet/csharp/fundamentals/coding-style/coding-conventions) verified with `dotnet format` - [] All unit tests pass, and I have added new tests where possible - _tests appear to fail locally for config related reasons._ - [ ] I didn't break anyone 😄 - _maybe myself, a bit..._ --------- Co-authored-by: Ian Norris <ianorr@microsoft.com> Co-authored-by: Adrian Bonar <56417140+adrianwyatt@users.noreply.github.com> Co-authored-by: Gil LaHaye <gillahaye@microsoft.com> Co-authored-by: Ben Thomas <ben.thomas@microsoft.com>
Motivation and Context
Tracking high level user engagement of features can direct further development and enable measurements of active user counts. It is important to note that completions and conversations themselves should not be logged, just data useful in aggregate.
Description
This is an initial pass for review by the team.
Motivation and Context
Description
The overall design is to add a service accessible to controllers and other services that enables telemetry to be fired with minimal context. For this an abstract ITelemetryService interface was added, allowing systems to fire events on this from across the kernel without any dependencies on a specific implementation.
Contribution Checklist
dotnet format