microsoftgraph / microsoftgraph/msgraph-sdk-dotnet

Out of the box reliability telemetry

Open
#1,513 1 comment 2 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Request: enhancement
Dominant language
C#
Stars
789
Forks
264
Avg merge
15h 17m
Merged PRs (30d)
3

Description

Is your feature request related to a problem? Please describe.
Developers and their customers do not have a way to understand behavior as seen by the client, particularly for timeouts, latency, and other issues. We need a way to see this across all deployments of their application. This can help developers and customers determine the health of infrastructure between the application and Microsoft Graph frontends and distinguish between client issues and problems with API services themselves.

Describe the solution you'd like

  • Ability to opt-in to sharing reliability information (request status code, request id, total time between request and the first response). This must not include identity information such as user or application identifiers or client ip addresses.
  • Ability to configure the destination of this data
  • Ability to control the behavior at runtime (i.e. disable it)
  • The capability should use a standard interface and format for logging and telemetry transport rather than a specialized implementation.
  • Everything about the solution must comply with any policies or regulations regarding data and privacy that apply to the environment running the graph SDK.

Consider using the same approach as the MSAL library which is often used with Microsoft Graph SDK:

Describe alternatives you've considered
Having developers install additional monitoring tools that log and aggregate Microsoft Graph performance information is certainly possible but requires significant effort from customers.

Additional context
Note that if each application is left to define its own reliability tracing coverage will be (and is already!) very uneven. Each application must make the effort to do this raising the cost

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the linked MSAL TelemetryCore implementation and its associated feature and documentation issues. Compare that approach with the requested opt-in controls, configurable destination, runtime disablement, standard transport, and privacy constraints. Done means these requirements have an agreed implementation scope for the .NET Graph SDK.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
observability
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.