1DS C++ SDK
Перейти к файлу
Max Golovanov ec0af31e1c Add build tests for CI on Linux and Mac 2019-09-29 17:36:01 -07:00
.github Create iOS build workflow 2019-09-27 08:29:16 -07:00
Solutions Fix build break on Win32 2019-09-28 22:02:33 -07:00
docker Create Dockerfile for Ubuntu-devel 2019-09-13 14:26:25 -07:00
docs Add a coding style section for Exceptions (#123) 2019-09-24 20:21:17 -07:00
examples Add more tests for Mac and implement HTTP server for Mac using kqueue 2019-09-29 17:17:51 -07:00
googletest Merged PR 904184: Start building functional and unit tests for clang on Windows and Mac 2019-02-01 09:08:09 +00:00
lib Add more tests for Mac and implement HTTP server for Mac using kqueue 2019-09-29 17:17:51 -07:00
sqlite Fix forspectre and binskim (#72) 2019-08-31 06:16:30 -07:00
sqliteUWP Merged PR 883086: Lightweight SDK for embedding in installer packages 2019-03-08 05:24:15 +00:00
tests Fix build break on gcc 2019-09-29 17:32:04 -07:00
tools Add more tests for Mac and implement HTTP server for Mac using kqueue 2019-09-29 17:17:51 -07:00
wrappers Housekeeping: 2019-07-17 15:37:50 -07:00
zlib Fix forspectre and binskim (#72) 2019-08-31 06:16:30 -07:00
.gitattributes Add .gitattributes to properly render various standard file types using extension 2019-09-12 13:07:52 -07:00
.gitignore Add more tests for Mac and implement HTTP server for Mac using kqueue 2019-09-29 17:17:51 -07:00
.gitmodules Minor clean-up, addressing code review comments. 2019-09-18 16:27:00 -07:00
CHANGELOG.md Addressing code review comments and suggestions 2019-04-01 13:34:51 -07:00
CMakeLists.txt Merge branch 'master' into maxgolov/rpi4_support 2019-09-21 12:22:01 -07:00
CONTRIBUTING.md Clean up the README document (#91) 2019-09-12 09:30:08 -07:00
LICENSE Clean up the README document (#91) 2019-09-12 09:30:08 -07:00
README.md Clean up the README document (#91) 2019-09-12 09:30:08 -07:00
RunOACR.bat Drafts for v3 2018-03-30 17:05:05 -07:00
azure-pipelines.yml Merged PR 935910: Kill switch feature, proper offline storage trim logic and tests 2019-02-26 00:00:36 +00:00
build-Win32Debug.bat Make the build-*.bat scripts break after a failed build. 2019-04-05 16:12:28 -07:00
build-Win32Release.bat Make the build-*.bat scripts break after a failed build. 2019-04-05 16:12:28 -07:00
build-all.bat GitHub Action requires recursive submodule fetch (#79) 2019-09-07 08:51:27 -07:00
build-clang.sh Merged PR 817004: Mac OS X clang compiler support 2018-11-07 06:39:27 +00:00
build-cmake-clang.cmd Fix clang on Windows build loop 2019-04-16 14:50:42 -07:00
build-docker.cmd Merged PR 1045143: Initial implementation of the build system that uses docker for various Linux distros 2019-05-22 22:57:00 +00:00
build-docker.sh Update docker scripts for Linux (#64) 2019-08-24 10:04:26 -07:00
build-gtest.sh Merged PR 1086962: Samples and build scripts clean-up 2019-06-19 21:34:04 +00:00
build-ios.sh Fix build-ios.sh to work if build.sh hasn't been previously run 2019-09-27 08:44:01 -07:00
build-rhel.sh Add RHEL and CentOS 7 support 2018-09-06 18:07:01 -04:00
build-tests.bat GitHub Action requires recursive submodule fetch (#79) 2019-09-07 08:51:27 -07:00
build-tests.sh Add build tests for CI on Linux and Mac 2019-09-29 17:36:01 -07:00
build-win.ps1 Custom WorkerThread (#68) 2019-09-09 12:57:20 -07:00
build-win10-compact.bat Build script change and example how to exclude sqlite from Win10 DLL build for Outlook / Windows Mail in UTC mode 2019-04-04 15:30:42 -07:00
build-x64Debug.bat Make the build-*.bat scripts break after a failed build. 2019-04-05 16:12:28 -07:00
build-x64Release.bat Make the build-*.bat scripts break after a failed build. 2019-04-05 16:12:28 -07:00
build.sh Resolve test failures and fix Mac build issues with CMakeLists.txt 2019-09-18 00:53:25 -07:00
install.sh GitHub clean-up drafts 2019-03-28 16:40:31 -07:00
mat-sdk.spec.in MAT 1DS C++ SDK v3.2.112.1 + build infra clean-up (no code functional changes) 2019-04-22 15:14:38 -07:00
test-all.cmd Merged PR 799323: Stats improvements, tests + fixes for recent OTEL issues discovered in dogfood 2018-10-16 05:01:28 +00:00

README.md

1DS C/C++ SDK

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

Overview

One Data Strategy (1DS) 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, Application Insights, and Visual Studio App Center. We aim to create a unified data production, collection, and set of tools for key scenarios for the entire company. Collector++ is the externally-facing destination end-point where data/telemetry is uploaded to that subsequently routes the data to Microsoft internal data pipeline.

We need a data culture where every engineer, every day, is looking at the
usage data, learning from that usage data, questioning what new things to
test out with our products, and being on that improvement cycle which is the
lifeblood of Microsoft...
                                                              -- Satya Nadella

Getting Started

The SDK is released as a source package every month, following the milestones.

Build

Build Environments (click to expand):
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.* LTS GCC 4.8.*, 4.9.4
Ubuntu 14.04.1 LTS GCC 5.x.x
Ubuntu 16.04 LTS GCC 5.x.x (armv7l)
Windows Server 2016 Visual Studio 2017
Target Platforms (click to expand):
Target Platform Supported Covered by CI
Linux (x86, x64, arm, aarch64)
Mac OS X 10.11+
Mac OS X (latest)
Ubuntu 14.04.x LTS
Ubuntu (latest)
Windows 7.1
Windows 8.1
Windows 10.x
Windows Server 2012
Windows Server 2016
  • Supported - these platforms are known to work well with the SDK in production.
  • Covered by CI - these platforms are tested as part of CI.

Test

There are two sets of tests available:

  • tests/unittests - unit tests that verify operation of each individual component.
  • tests/functests - functional tests that verify customer-facing APIs and features, they also cover the flow of data to Collector++.

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

We recommend GitHub issues as the communication channel for both feature requests and issues.

We are also available on email and community meeting, please refer to CONTRIBUTING.md for more details.

Note: Please refer to the supported platforms, anything not in the list should be treated as a feature request. The SDK is released as source package, there is no plan to release prebuilt binaries. Build issues are in general out of the support scope due to the unlimited number of build flags combinations.

Contributing

See CONTRIBUTING.md for more details.

Versioning

This library follows Semantic Versioning.

License

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