microsoft / cpp_client_telemetry

1DS C++ SDK
Apache License 2.0
85 stars 48 forks source link
android c cpp ios mac macos telemetry telemetry-collection windows xamarin

1DS C/C++ SDK

spellcheck

1DS C/C++ SDK enables cross-platform telemetry collection from various Microsoft products. It enables data / telemetry upload to Collector++.

1DS (One Data Strategy), also known as One Observability, is a cross-org initiative with five teams across the company coming together to unify multiple telemetry efforts at Microsoft. This includes the teams that built Asimov, Aria, Shared Data Platform, Geneva, OMS, Azure Monitor, and Visual Studio App Center. We aim to create a unified data collection, ingestion, pipeline, and set of tools for key scenarios for the entire company.

Collector++ is the externally-facing destination end-point where telemetry data is uploaded to that subsequently routes the data to Microsoft internal data pipeline.

Getting Started

The SDK is released as a source package every month, following the milestones. There is no plan to release prebuilt binaries.

Build

Platform specific build instructions:

Other resources to learn how to setup the build system:

Build Environments

Operating System Compiler
Mac OS X 10.11.6 Clang Xcode 8.3
Mac OS X 10.12.6 Clang Xcode 9.0, 9.1
Mac OS X 10.13.3 Clang Xcode 9.2, 9.3, 10.0, 10.1
Raspbian GNU/Linux 8 (jessie) GCC 4.9.2 (armv7l)
Ubuntu 14.04.x LTS GCC 5.x.x
Ubuntu 16.04 LTS GCC 5.x.x, GCC 5.x.x (armv7l)
Ubuntu 18.04 LTS GCC 7.5.x
Windows 10 Android Studio/Gradle
Windows Server 2016 Visual Studio 2017 (vc141)
Windows Server 2019 Visual Studio 2019 (vc142)

Target Platforms

Target Platform Supported Covered by CI
Android :white_check_mark: :white_check_mark:
iOS 10+ (simulator) :white_check_mark: :white_check_mark:
iOS 10+ (arm64, arm64e) :white_check_mark:
Linux (x86, x64, arm, aarch64) :white_check_mark:
Mac OS X 10.11+ :white_check_mark:
Mac OS X (latest) :white_check_mark: :white_check_mark:
Ubuntu 14.04.x LTS :white_check_mark:
Ubuntu 16.04.x LTS :white_check_mark:
Ubuntu 18.04.x LTS :white_check_mark:
Ubuntu 20.04.x LTS :white_check_mark: :white_check_mark:
Ubuntu (latest) :white_check_mark: :white_check_mark:
Windows 7.1 :white_check_mark:
Windows 8.1 :white_check_mark:
Windows 10.x :white_check_mark:
Windows Server 2012 :white_check_mark:
Windows Server 2016 :white_check_mark:
Windows Server 2019 :white_check_mark: :white_check_mark:

Test

There are two sets of tests available:

These tests use Google Test / Google Mock framework and get built alongside the SDK. Launch functests and unittests binary executables to capture the test results.

Getting Support

Microsoft products using SDK may use GitHub issues as the communication channel for both feature requests and issues.

Note:

Contributing

This project does not accept Public contributions at this time.

Microsoft-authorized contributors - please refer to contributing instructions here.

Versioning

This library follows Semantic Versioning.

License

By contributing to 1DS C++ SDK repository, you agree that your contributions will be licensed under Apache License 2.0.