Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
64 commits
Select commit Hold shift + click to select a range
9486762
Default native telemetry to 1DS
bmehta001 Sep 2, 2026
1d2c4ef
Reduce telemetry volume while preserving device counts
bmehta001 Sep 3, 2026
5613fd8
Capture census for one-time devices
bmehta001 Sep 3, 2026
a8802df
Protect census comparison from macro parsing
bmehta001 Sep 3, 2026
f260c1a
Harden device census rollover and completion telemetry
bmehta001 Sep 4, 2026
a0e2092
Preserve device census retry intent
bmehta001 Sep 4, 2026
fab143d
Preserve Windows telemetry behavior
bmehta001 Sep 4, 2026
e334035
Preserve Windows DeviceId storage fallback
bmehta001 Sep 8, 2026
6988e71
Merge device census into Windows 1DS telemetry
bmehta001 Sep 8, 2026
0d2079d
Reduce device census telemetry overhead
bmehta001 Sep 8, 2026
db88bce
Merge remote telemetry updates
bmehta001 Sep 8, 2026
4ce7057
Table device census for ephemeral workloads
bmehta001 Sep 8, 2026
5539d11
Fix cross-platform telemetry build wiring
bmehta001 Sep 10, 2026
05bfafa
Fix telemetry platform configuration
bmehta001 Sep 10, 2026
e675976
Simplify telemetry backend selection
bmehta001 Sep 12, 2026
e7072e0
Disable Windows 1DS network detection
bmehta001 Sep 18, 2026
9bd7e57
Merge main and harden Windows telemetry integration
bmehta001 Sep 21, 2026
1499472
Keep telemetry backend layouts consistent
bmehta001 Sep 21, 2026
f349791
Keep static telemetry packages self-contained
bmehta001 Sep 22, 2026
46eb1b0
Harden Windows telemetry edge cases
bmehta001 Sep 22, 2026
2b518d8
Preserve Windows adapter telemetry on 1DS
bmehta001 Sep 22, 2026
fcdf00a
Use Windows-specific 1DS ingestion key
bmehta001 Sep 22, 2026
376bf72
Keep provider options out of 1DS uploads
bmehta001 Sep 22, 2026
3c9bcff
Honor telemetry opt-out for local ETW events
bmehta001 Sep 22, 2026
e6fa6d1
Preserve legacy Windows telemetry selection
bmehta001 Sep 23, 2026
011738c
Enable an opt-in Windows 1DS ingestion smoke test
bmehta001 Sep 24, 2026
ea752a0
Revert unnecessary changes
bmehta001 Sep 29, 2026
e4e1991
Keep Linux telemetry on mbedTLS and restore provider-option events
bmehta001 Sep 29, 2026
05f05c1
Merge branch 'main' into bhamehta/windows-1ds-telemetry-default
bmehta001 Sep 29, 2026
917ad89
Apply batched suggestions from code review
bmehta001 Sep 29, 2026
07e724c
Separate 1DS platform code to avoid Windows guards in POSIX
bmehta001 Sep 29, 2026
cdcb67e
Merge origin/main to keep Windows 1DS telemetry current
bmehta001 Oct 1, 2026
d890175
Fix wording
bmehta001 Oct 1, 2026
e7dff51
Improve wording
bmehta001 Oct 1, 2026
55c46cc
Emit the persistent device ID in ETW ProcessInfo
bmehta001 Oct 1, 2026
5127aef
Revert "Emit the persistent device ID in ETW ProcessInfo"
bmehta001 Oct 2, 2026
71c0598
Suppress ETW process info in CI
Copilot Oct 2, 2026
73b8b12
Skip ETW registration in CI
Copilot Oct 2, 2026
d81fc02
Revert "Emit the persistent device ID in ETW ProcessInfo"
bmehta001 Oct 2, 2026
0a6bde0
Merge PR updates to preserve remote CI telemetry fixes
bmehta001 Oct 2, 2026
c77e5d8
Merge origin/main to validate telemetry against current runtime
bmehta001 Oct 2, 2026
48326f1
Honor disabled 1DS telemetry without changing ETW behavior
bmehta001 Oct 2, 2026
d5bb983
Exclude 1DS from Windows Debug CI until SDK unload leaks are fixed
bmehta001 Oct 2, 2026
ceb50cf
Disable Windows network detection to avoid shutdown allocations
bmehta001 Oct 5, 2026
47f1ee5
Bound telemetry values to prevent oversized processing and payloads
bmehta001 Oct 5, 2026
c822dac
Scrub QNN telemetry paths and include Windows SDK linkage
bmehta001 Oct 5, 2026
1e4d986
Clarify that telemetry APIs suppress all events
bmehta001 Oct 5, 2026
4ebfd9b
Scrub diagnostic ETW paths to protect QNN trace privacy
bmehta001 Oct 5, 2026
ef73219
Preserve local diagnostics and repair default 1DS builds
bmehta001 Oct 5, 2026
9eca86a
Address comments
bmehta001 Oct 5, 2026
b317205
Align telemetry intake limits to preserve privacy on rejected input
bmehta001 Oct 6, 2026
6f7124e
Consolidate telemetry helpers to prevent platform drift
bmehta001 Oct 6, 2026
cac0204
Keep telemetry internals private and enforce path budgets
bmehta001 Oct 6, 2026
a280e76
Improve docs
bmehta001 Oct 6, 2026
6c6cd20
Resolve static telemetry dependencies and omit custom metadata
bmehta001 Oct 6, 2026
998173d
Use the fixed GitHub telemetry SDK to restore Windows Debug coverage
bmehta001 Oct 7, 2026
6d07d4d
Preserve telemetry backend and EP-summary invariants
bmehta001 Oct 7, 2026
08b2729
Preserve Windows telemetry leak protection and SQLite memory limits
bmehta001 Oct 7, 2026
15dc6e5
Preserve map truncation evidence for telemetry path redaction
bmehta001 Oct 7, 2026
a35ecc3
Preserve ONNX element types when loading node-test tensors
bmehta001 Oct 7, 2026
61972ec
Merge main to preserve the measured Android baseline and telemetry gu…
bmehta001 Oct 7, 2026
dff8fa2
Allow telemetry package tests to use installed CMake generators
bmehta001 Oct 7, 2026
1f6e9e7
Restore INT8 cache detection to unblock GPU CI
bmehta001 Oct 7, 2026
9df3652
Align telemetry settings and isolation with GenAI builds
bmehta001 Oct 7, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions .github/workflows/android.yml
Original file line number Diff line number Diff line change
Expand Up @@ -157,6 +157,12 @@ jobs:
with:
ndk-version: 28.0.13004108

- name: Test static telemetry package dependencies on Linux and Android
shell: bash
run: |
test -n "$ANDROID_NDK_HOME"
python3 tools/ci_build/test_telemetry_package.py -v

- name: Setup CCache
uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 # v5.1.0
with:
Expand Down
2 changes: 1 addition & 1 deletion build.bat
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,4 @@ setlocal
set PATH=C:\Program Files\Git\usr\bin;%PATH%

rem Requires a Python install to be available in your PATH
python "%~dp0\tools\ci_build\build.py" --build_dir "%~dp0\build\Windows" --no_telemetry %*
python "%~dp0\tools\ci_build\build.py" --build_dir "%~dp0\build\Windows" %*
77 changes: 39 additions & 38 deletions cmake/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -172,9 +172,44 @@ option(onnxruntime_USE_WINML "Build with WinML support" OFF)
option(onnxruntime_USE_ACL "Build with ACL support" OFF)
option(onnxruntime_ENABLE_INSTRUMENT "Enable Instrument with Event Tracing for Windows (ETW)" OFF)
option(onnxruntime_USE_TELEMETRY "Build with Telemetry" OFF)
# Optional 1DS ingestion token for non-Windows telemetry. Leave empty to compile in the encoded
# in-repo default from core/platform/posix/telemetry.cc; callers can override it at configure time.
set(ONNXRUNTIME_TELEMETRY_TENANT_TOKEN "" CACHE STRING "Override the compiled-in telemetry ingestion token (non-Windows)")
# AUTO selects 1DS on supported native platforms; TraceLogging requires an explicit Windows opt-in.
set(onnxruntime_TELEMETRY_BACKEND "AUTO" CACHE STRING "Telemetry backend: AUTO, 1DS, or WINDOWS")
set_property(CACHE onnxruntime_TELEMETRY_BACKEND PROPERTY STRINGS AUTO 1DS WINDOWS)
string(TOUPPER "${onnxruntime_TELEMETRY_BACKEND}" onnxruntime_TELEMETRY_BACKEND)
if(NOT onnxruntime_TELEMETRY_BACKEND MATCHES "^(AUTO|1DS|WINDOWS)$")
message(FATAL_ERROR
"Invalid onnxruntime_TELEMETRY_BACKEND='${onnxruntime_TELEMETRY_BACKEND}'. "
"Expected AUTO, 1DS, or WINDOWS.")
endif()

# Deprecated compatibility alias for callers that adopted this option before the backend selector.
option(onnxruntime_USE_WINDOWS_TELEMETRY "Use Windows TraceLogging instead of 1DS telemetry" OFF)
if(onnxruntime_USE_WINDOWS_TELEMETRY)
set(onnxruntime_TELEMETRY_BACKEND "WINDOWS")
endif()

if(onnxruntime_TELEMETRY_BACKEND STREQUAL "WINDOWS")
if(NOT WIN32)
message(FATAL_ERROR "The WINDOWS telemetry backend is only supported on Windows")
endif()
set(onnxruntime_USE_TELEMETRY ON CACHE BOOL "Build with Telemetry" FORCE)
endif()

set(onnxruntime_USE_1DS_TELEMETRY OFF)
if(onnxruntime_USE_TELEMETRY)
if(onnxruntime_TELEMETRY_BACKEND STREQUAL "1DS" OR
onnxruntime_TELEMETRY_BACKEND STREQUAL "AUTO")
set(onnxruntime_USE_1DS_TELEMETRY ON)
endif()
endif()
if(CMAKE_SYSTEM_NAME STREQUAL "WindowsStore" AND onnxruntime_USE_1DS_TELEMETRY)
message(WARNING "1DS telemetry is not supported for UWP builds. Telemetry will be disabled.")
set(onnxruntime_USE_TELEMETRY OFF CACHE BOOL "Build with Telemetry" FORCE)
set(onnxruntime_USE_1DS_TELEMETRY OFF)
endif()
# Optional 1DS ingestion token. Leave empty to compile in the encoded
# in-repo platform default; callers can override it at configure time.
set(ONNXRUNTIME_TELEMETRY_TENANT_TOKEN "" CACHE STRING "Override the compiled-in 1DS telemetry ingestion token")
cmake_dependent_option(onnxruntime_USE_MIMALLOC "Override new/delete and arena allocator with mimalloc" OFF "WIN32;NOT onnxruntime_USE_CUDA;NOT onnxruntime_USE_OPENVINO" OFF)
option(onnxruntime_USE_CANN "Build with CANN support" OFF)
option(onnxruntime_USE_XNNPACK "Build with XNNPACK support. Provides an alternative math library on ARM, WebAssembly and x86." OFF)
Expand Down Expand Up @@ -2018,41 +2053,7 @@ else()
add_library(safeint_interface IMPORTED INTERFACE)\n\
target_include_directories(safeint_interface INTERFACE ${safeint_SOURCE_DIR})\n\
")
if(onnxruntime_USE_TELEMETRY AND NOT WIN32 AND onnxruntime_TELEMETRY_USES_EXTERNAL_PACKAGE)
string(APPEND PROJECT_CONFIG_CONTENT
"find_dependency(MSTelemetry CONFIG)\n\
")
endif()
if(onnxruntime_USE_TELEMETRY AND APPLE
AND NOT onnxruntime_TELEMETRY_USES_EXTERNAL_PACKAGE)
string(APPEND PROJECT_CONFIG_CONTENT
"if(NOT TARGET MSTelemetry::sqlite_dependency)\n\
add_library(MSTelemetry::sqlite_dependency INTERFACE IMPORTED)\n\
set_property(TARGET MSTelemetry::sqlite_dependency PROPERTY INTERFACE_LINK_LIBRARIES sqlite3)\n\
endif()\n\
if(NOT TARGET MSTelemetry::zlib_dependency)\n\
add_library(MSTelemetry::zlib_dependency INTERFACE IMPORTED)\n\
set_property(TARGET MSTelemetry::zlib_dependency PROPERTY INTERFACE_LINK_LIBRARIES z)\n\
endif()\n\
")
endif()
if(onnxruntime_USE_TELEMETRY AND NOT WIN32 AND NOT APPLE
AND NOT CMAKE_SYSTEM_NAME STREQUAL "Android"
AND NOT onnxruntime_TELEMETRY_USES_EXTERNAL_PACKAGE
AND NOT onnxruntime_BUILD_SHARED_LIB)
if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
# The embedded curl archive uses the platform Threads target for its resolver.
string(APPEND PROJECT_CONFIG_CONTENT
"find_dependency(Threads)\n\
")
else()
# Preserve the legacy dependency graph for any explicitly enabled non-Linux Unix target.
string(APPEND PROJECT_CONFIG_CONTENT
"find_dependency(CURL)\n\
find_dependency(Threads)\n\
")
endif()
endif()
include("${CMAKE_CURRENT_LIST_DIR}/onnxruntime_telemetry_config.cmake")
endif()

string(APPEND PROJECT_CONFIG_CONTENT
Expand Down
6 changes: 3 additions & 3 deletions cmake/deps.txt
Original file line number Diff line number Diff line change
Expand Up @@ -66,9 +66,9 @@ kleidiai;https://github.com/ARM-software/kleidiai/archive/refs/tags/v1.30.0.tar.
# this entry will be updated to use refs/tags/<version> instead of the raw commit hash.
kleidiai-qmx;https://github.com/qualcomm/kleidiai/archive/2f10c9a8d32f81ffeeb6d4885a29cc35d2b0da87.zip;5e855730a2d69057a569f43dd7532db3b2d2a05c
vulkan_headers;https://codeload.github.com/KhronosGroup/Vulkan-Headers/tar.gz/refs/tags/v1.4.344;57bc528ef7c4a3f7bfbb59e64a187e3734bd29d8
# cpp_client_telemetry (1DS SDK) for cross-platform telemetry on non-Windows platforms.
# Pinned to the stable release.
cpp_client_telemetry;https://github.com/microsoft/cpp_client_telemetry/archive/refs/tags/v3.10.267.1.zip;9d29169b8e51157d44a24a0d6cf6847260ea2efc
# cpp_client_telemetry (1DS SDK) for cross-platform telemetry, including vcpkg builds.
# This release fixes Windows Debug listener TLS leaks during DLL unload.
cpp_client_telemetry;https://github.com/microsoft/cpp_client_telemetry/archive/refs/tags/v3.10.279.1.zip;e97ee8f91c9348551d35873da33a18b4e50cf0db
# Transitive 1DS Linux transport dependencies, retained here for dependency inventory generation.
curl;https://github.com/curl/curl/releases/download/curl-8_21_0/curl-8.21.0.tar.xz;c3b4712175609f1e1662e716efd4fd48901e863d
mbedtls;https://github.com/Mbed-TLS/mbedtls/releases/download/mbedtls-3.6.7/mbedtls-3.6.7.tar.bz2;e892e98cff90cf7e0736c525bf357626a2513c4c
Loading
Loading