Skip to content

Record service in telemetry events#27252

Merged
bmehta001 merged 2 commits intomainfrom
bhamehta/record-service
Feb 5, 2026
Merged

Record service in telemetry events#27252
bmehta001 merged 2 commits intomainfrom
bhamehta/record-service

Conversation

@bmehta001
Copy link
Copy Markdown
Contributor

Description

This change records the service name(s), if any, as part of the SessionCreation/ProcessInfo events.
We cache the service names after the first time we calculate them in order to avoid unnecessary overhead.

Motivation and Context

These changes enable deeper understanding of ORT usage, since multiple services can run inside an application in svchost, which currently obscures our understanding of which services/use cases are most popular. Understanding which services are actually being used can help prioritize more investments in making ORT better targeted to end users.

Testing

Have tested that the logic in GetServiceNamesForCurrentProcess can accurately return service name for a given process

Copy link
Copy Markdown
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

You can commit the suggested changes from lintrunner.

Copy link
Copy Markdown
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 adds service name tracking to telemetry events in the ONNX Runtime Windows implementation. The changes enable identifying which Windows services are using ORT when running inside svchost processes, providing better visibility into usage patterns.

Changes:

  • Added a function to enumerate and cache Windows service names for the current process
  • Modified ProcessInfo and SessionCreation telemetry events to include service names

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

@bmehta001 bmehta001 merged commit 9486eed into main Feb 5, 2026
90 of 91 checks passed
@bmehta001 bmehta001 deleted the bhamehta/record-service branch February 5, 2026 23:24
tianleiwu pushed a commit that referenced this pull request Feb 12, 2026
This change records the service name(s), if any, as part of the
SessionCreation/ProcessInfo events.
We cache the service names after the first time we calculate them in
order to avoid unnecessary overhead.

These changes enable deeper understanding of ORT usage, since multiple
services can run inside an application in svchost, which currently
obscures our understanding of which services/use cases are most popular.
Understanding which services are actually being used can help prioritize
more investments in making ORT better targeted to end users.

Have tested that the logic in GetServiceNamesForCurrentProcess can
accurately return service name for a given process
tianleiwu added a commit that referenced this pull request Feb 13, 2026
This cherry-picks the following commits for the 1.24.2 release:
- #27096
- #27077
- #26677
- #27238
- #27213
- #27256
- #27278
- #27275
- #27276
- #27216
- #27271
- #27299
- #27294
- #27266
- #27176
- #27126
- #27252

---------

Co-authored-by: Xiaofei Han <xiaofeihan@microsoft.com>
Co-authored-by: Jiajia Qin <jiajiaqin@microsoft.com>
Co-authored-by: Yulong Wang <7679871+fs-eire@users.noreply.github.com>
Co-authored-by: qti-monumeen <monumeen@qti.qualcomm.com>
Co-authored-by: Ankit Maheshkar <ankit.maheshkar@intel.com>
Co-authored-by: Eric Crawford <eric.r.crawford@intel.com>
Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
Co-authored-by: guschmue <22941064+guschmue@users.noreply.github.com>
Co-authored-by: Guenther Schmuelling <guschmue@microsoft.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: angelser <32746004+angelser@users.noreply.github.com>
Co-authored-by: Angela Serrano Brummett <angelser@microsoft.com>
Co-authored-by: Misha Chornyi <99709299+mc-nv@users.noreply.github.com>
Co-authored-by: hariharans29 <9969784+hariharans29@users.noreply.github.com>
Co-authored-by: eserscor <erscor@microsoft.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Baiju Meswani <bmeswani@microsoft.com>
Co-authored-by: Adrian Lizarraga <adlizarraga@microsoft.com>
Co-authored-by: Ti-Tai Wang <titaiwang@microsoft.com>
Co-authored-by: bmehta001 <bmehta001@users.noreply.github.com>
adrastogi pushed a commit that referenced this pull request Feb 16, 2026
### Description
This change records the service name(s), if any, as part of the
SessionCreation/ProcessInfo events.
We cache the service names after the first time we calculate them in
order to avoid unnecessary overhead.


### Motivation and Context
These changes enable deeper understanding of ORT usage, since multiple
services can run inside an application in svchost, which currently
obscures our understanding of which services/use cases are most popular.
Understanding which services are actually being used can help prioritize
more investments in making ORT better targeted to end users.

### Testing

Have tested that the logic in GetServiceNamesForCurrentProcess can
accurately return service name for a given process
adrastogi added a commit that referenced this pull request Feb 19, 2026
This cherry-picks the following commits for the release:
- #27252 Record service in telemetry events
- #27256 Log Framework name to more Windows ML relevant events

---------

Co-authored-by: bmehta001 <bmehta001@users.noreply.github.com>
Co-authored-by: angelser <32746004+angelser@users.noreply.github.com>
Co-authored-by: Angela Serrano Brummett <angelser@microsoft.com>
Co-authored-by: Aditya Rastogi <adityar@ntdev.microsoft.com>
tianleiwu added a commit that referenced this pull request Mar 10, 2026
This PR introduces a new Python script, `cherry_pick.py`, to automate
the cherry-picking process for release branches.

## Features

- **Automated List Generation**: Fetches merged PRs with a specific
label (e.g., `release:1.24.2`) using the `gh` CLI.
- **Sorted Output**: Sorts PRs by merge date to ensure chronological
application.
- **Batch File Creation**: Generates a `.cmd` file with `git
cherry-pick` commands.
- **Markdown Notes**: Generates a markdown file
(`cherry_pick_pr_description.md`) suitable for the release PR
description.
- **Dependency Checking**: Checks for potential missing dependencies
(conflicts) by verifying if files modified by the cherry-picked commits
have prior modifications in the target branch that are not included in
the cherry-pick list.
  - Warns about missing commits and lists affected files.

## Usage

```bash
python cherry_pick.py --label "release:1.24.2" --output cherry_pick.cmd --branch "origin/rel-1.24.2"
```

## Arguments

- `--label`: Label to filter PRs (required).
- `--output`: Output path for the batch file (required).
- `--repo`: Target repository (default: `microsoft/onnxruntime`).
- `--branch`: Target branch to compare against for dependency checks
(default: `HEAD`).

## Example Output

```
Fetching merged PRs with label 'release:1.24.2' from microsoft/onnxruntime...
Generated cherry_pick.cmd with 15 commits.
Generated cherry_pick_pr_description.md with 15 commits.

Checking for potential missing dependencies (conflicts)...
WARNING: In PR #27256 (5645b77...), file 'onnxruntime/core/platform/windows/telemetry.cc' was modified by commit 9486eed... (Record service in telemetry events (#27252)) which is not included in the cherry-pick list.
```
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants