1DS C++ SDK
Перейти к файлу
Sid Dahiya e72e003d18 Address PR comments:
Add return values to initializePrivacyGuard

Add return value to appendCommonDataContext

Throw if appendCommonDataContext is called with null CommonDataContext

Fix bug where spPrivacyGuard wasn't registered with LogManager
2020-09-29 10:39:17 -07:00
.github Let's disable DEBUG builds for vs2017 to save more space 2020-09-25 01:19:19 -07:00
Solutions Fix BasicFuncTests sendOneEvent_ImmediatelyStop 2020-09-24 19:39:06 -07:00
docker Create Dockerfile 2020-05-02 11:51:58 -07:00
docs Let's try to skip LLVM-clang (it's 1.5GB) 2020-09-24 23:43:07 -07:00
examples Verified the flow on Linux for static and shared library. Use new Google Test for Ubuntu 20.04 (old one no longer compiles) 2020-09-22 01:16:29 -07:00
googletest Verified the flow on Linux for static and shared library. Use new Google Test for Ubuntu 20.04 (old one no longer compiles) 2020-09-22 01:16:29 -07:00
lib Address PR comments: 2020-09-29 10:39:17 -07:00
sqlite Delete temporary files and adjust .winmd file name for win10-dll (although that should not be used for C++ STL API surface). Comment out JSON library to reduce binary size. 2020-01-08 14:47:03 -08:00
sqliteUWP Microsoft Applications Telemetry SDK for C/C++ - v3.2 (April 2019) 2019-04-02 15:03:34 -07:00
tests Do test server initialization in the `doNothing` test 2020-09-24 21:21:21 -07:00
third_party Verified the flow on Linux for static and shared library. Use new Google Test for Ubuntu 20.04 (old one no longer compiles) 2020-09-22 01:16:29 -07:00
tools Let's try to skip LLVM-clang (it's 1.5GB) 2020-09-24 23:43:07 -07:00
wrappers Revert "Add Obj-C Wrappers for Privacy Guard" 2020-09-23 17:06:48 -07:00
zlib Fix forspectre and binskim (#72) 2019-08-31 06:16:30 -07:00
.clang-format Adjust the style to be in alignment with what the rest of code is 2019-10-23 16:26:04 -07:00
.gitattributes Windows resource files must be text with CRLF 2019-10-24 11:45:39 -07:00
.gitignore Update .gitignore with all *.ses 2020-09-24 17:37:40 -07:00
.gitmodules update 2020-09-23 11:04:40 +00:00
CHANGELOG.md Update CHANGELOG.md 2020-08-03 16:53:27 -07:00
CMakeLists.txt Sid's feature does not compile on Linux with gcc-9. Turning it off. Also there were couple issues with case-sensitivity and including feature in tests even if it's turned off. 2020-09-24 14:34:42 -07:00
CONTRIBUTING.md update the meeting time 2020-06-16 13:35:16 -07:00
LICENSE Clean up the README document (#91) 2019-09-12 09:30:08 -07:00
README.md Build environments for vs2017 and vs2019, with ability to exclude ARM builds (ARM tools are not installed by default on GitHub runners) 2020-06-23 19:04:10 -07:00
RunOACR.bat Some recent regression in GitHub actions (NOT our infra!!) is causing all of our Windows builds to fail. 2019-10-24 12:43:35 -07:00
azure-pipelines.yml OSS clean-up: 2020-08-13 22:30:45 -07:00
build-Win32Debug.bat Some recent regression in GitHub actions (NOT our infra!!) is causing all of our Windows builds to fail. 2019-10-24 12:43:35 -07:00
build-Win32Release.bat Some recent regression in GitHub actions (NOT our infra!!) is causing all of our Windows builds to fail. 2019-10-24 12:43:35 -07:00
build-all-v142.bat Point back to latest lib/modules master 2020-08-17 10:59:11 -07:00
build-all.bat Let's disable DEBUG builds for vs2017 to save more space 2020-09-25 01:19:19 -07:00
build-clang.sh Microsoft Applications Telemetry SDK for C/C++ - v3.2 (April 2019) 2019-04-02 15:03:34 -07:00
build-cmake-clang-vs2017.cmd Point back to latest lib/modules master 2020-08-17 10:59:11 -07:00
build-cmake-clang-vs2019.cmd Point back to latest lib/modules master 2020-08-17 10:59:11 -07:00
build-docker.cmd Update build-docker.cmd 2020-05-02 11:30:59 -07:00
build-docker.sh Update docker scripts for Linux (#64) 2019-08-24 10:04:26 -07:00
build-gtest.sh Verified the flow on Linux for static and shared library. Use new Google Test for Ubuntu 20.04 (old one no longer compiles) 2020-09-22 01:16:29 -07:00
build-ios.sh Build gtest/gmock for iOS (#346) 2020-05-06 11:58:41 -07:00
build-rhel.sh Microsoft Applications Telemetry SDK for C/C++ - v3.2 (April 2019) 2019-04-02 15:03:34 -07:00
build-tests-ios.sh Build gtest/gmock for iOS (#346) 2020-05-06 11:58:41 -07:00
build-tests.cmd update 2020-09-24 04:34:22 +00:00
build-tests.sh fix build test 2020-09-08 12:18:13 +05:30
build-win.ps1 Custom WorkerThread (#68) 2019-09-09 12:57:20 -07:00
build-win10-compact.bat Point back to latest lib/modules master 2020-08-17 10:59:11 -07:00
build-win10-min.bat Point back to latest lib/modules master 2020-08-17 10:59:11 -07:00
build-x64Debug.bat Some recent regression in GitHub actions (NOT our infra!!) is causing all of our Windows builds to fail. 2019-10-24 12:43:35 -07:00
build-x64Release.bat Some recent regression in GitHub actions (NOT our infra!!) is causing all of our Windows builds to fail. 2019-10-24 12:43:35 -07:00
build-xamarin.sh Add JavaDoc to Android Bindings to preserve methods parameters names 2020-09-17 14:43:03 -07:00
build.sh Update build.sh 2020-09-24 11:00:26 -07:00
install.sh Verified the flow on Linux for static and shared library. Use new Google Test for Ubuntu 20.04 (old one no longer compiles) 2020-09-22 01:16:29 -07:00
mat-sdk.spec.in Update mat-sdk.spec.in 2020-08-03 16:55:58 -07:00
test-all.cmd Some recent regression in GitHub actions (NOT our infra!!) is causing all of our Windows builds to fail. 2019-10-24 12:43:35 -07:00

README.md

1DS C/C++ SDK

Join 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

To build the SDK, please refer to How to build the SDK.

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 10 Android Studio/Gradle
Windows Server 2016 Visual Studio 2017 (vc141)
Windows Server 2019 Visual Studio 2019 (vc142)
Target Platforms (click to expand):
Target Platform Supported Covered by CI
Android partial†
iOS 10+ (simulator)
iOS 10+ (arm64, arm64e)
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
Windows Server 2019
  • Supported - these platforms are known to work well with the SDK in production.
  • Covered by CI - these platforms are tested as part of CI.
  • Android - supported for Office applications. oteldiscuss@Microsoft.com is a first point of contact.

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.
  • Only C and C++ API surface is supported - any other language wrappers are provided as-is, and not supported.
  • 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.