From 3c6bf6f822ff8589472e79536bfc691d5d7ca953 Mon Sep 17 00:00:00 2001 From: Max Golovanov Date: Mon, 25 Jan 2021 14:29:28 -0800 Subject: [PATCH 1/6] Initial folder layout to allow further commits --- .gitattributes | 92 +++++++++++++++++++++++ .github/ISSUE_TEMPLATE/bug_report.md | 19 +++++ .github/ISSUE_TEMPLATE/feature_request.md | 19 +++++ .gitignore | 45 +++++++++++ CONTRIBUTING.md | 67 +++++++++++++++++ README.md | 26 ++++++- docs/README.md | 3 + examples/README.md | 3 + exporters/README.md | 3 + tools/README.md | 4 + 10 files changed, 280 insertions(+), 1 deletion(-) create mode 100644 .gitattributes create mode 100644 .github/ISSUE_TEMPLATE/bug_report.md create mode 100644 .github/ISSUE_TEMPLATE/feature_request.md create mode 100644 .gitignore create mode 100644 CONTRIBUTING.md create mode 100644 docs/README.md create mode 100644 examples/README.md create mode 100644 exporters/README.md create mode 100644 tools/README.md diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 000000000..2ae1c5085 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,92 @@ +##### Source code ##### + +## C++ and C source files +*.c text diff=cpp +*.h text diff=cpp +*.cpp text diff=cpp +*.cxx text diff=cpp +*.hpp text diff=cpp + +## Python scripts +*.py text eol=lf diff=python + +## Perl scripts/libraries/modules +*.perl text eol=lf diff=perl +*.pl text eol=lf diff=perl +*.pm text eol=lf diff=perl + +## Shell scripts +*.sh text eol=lf +*.bash text eol=lf + +## Windows batch and PowerShell scripts +*.bat text eol=crlf +*.cmd text eol=crlf +*.ps1 text eol=crlf + +##### Other file types ##### + +## Text files and documentation +*.txt text +README* text +INSTALL* text +LICENSE* text + +## Non-text documentation +*.html text diff=html +*.pdf binary +*.rtf binary + +## Doxygen documentation configuration files +Doxyfile text +*.dox text + +## Image files +*.png binary +*.PNG binary +*.jpg binary +*.JPG binary +*.gif binary +*.GIF binary +*.bmp binary +*.BMP binary +*.ico binary +*.ICO binary +*.ppm binary +*.pgm binary +*.pbm binary +*.xpm -text diff -merge + +## Vector graphics +*.svg -text diff -merge + +## CMake files +CMakeLists.txt text eol=lf + +## Makefiles +Makefile text +makefile text +GNUmakefile text +*.mk text + +## Various IDE project files, etc +*.sln -text diff merge +*.vcxproj -text diff -merge +*.vcxproj.filters -text diff -merge +*.props -text diff -merge +*.pbxproj -text diff -merge + +## Resource files and UI design descriptions +*.rc text eol=crlf + +## Diff/patch files +*.diff text diff -merge +*.patch text diff -merge + +## XML and configuration +*.xml text +*.cfg text + +## Self-reference =) +.gitignore text +.gitattributes text diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md new file mode 100644 index 000000000..cf460c066 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -0,0 +1,19 @@ +--- +name: Bug Report +about: Create a report to help us improve +labels: bug +--- + +**Describe your environment** Describe any aspect of your environment relevant to the problem, including your platform, build system, version numbers of installed dependencies, etc. If you're reporting a problem with a specific version of a library in this repo, please check whether the problem has been fixed on master. + +**Steps to reproduce** +Describe exactly how to reproduce the error. Include a code sample if applicable. + +**What is the expected behavior?** +What did you expect to see? + +**What is the actual behavior?** +What did you see instead? + +**Additional context** +Add any other context about the problem here. diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md new file mode 100644 index 000000000..973549ab2 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -0,0 +1,19 @@ +--- +name: Feature Request +about: Suggest an idea for this project +labels: feature-request +--- + +Before opening a feature request against this repo, consider whether the feature should/could be implemented in the [other OpenTelemetry client libraries](https://github.com/open-telemetry/). If so, please [open an issue on opentelemetry-specification](https://github.com/open-telemetry/opentelemetry-specification/issues/new) first. + +**Is your feature request related to a problem?** +If so, provide a concise description of the problem. + +**Describe the solution you'd like** +What do you want to happen instead? What is the expected behavior? + +**Describe alternatives you've considered** +Which alternative solutions or features have you considered? + +**Additional context** +Add any other context about the feature request here. diff --git a/.gitignore b/.gitignore new file mode 100644 index 000000000..714760e98 --- /dev/null +++ b/.gitignore @@ -0,0 +1,45 @@ +# Ref. https://github.com/github/gitignore/blob/master/C%2B%2B.gitignore +# Prerequisites +*.d + +# Compiled Object files +*.slo +*.lo +*.o +*.obj + +# Precompiled Headers +*.gch +*.pch + +# Compiled Dynamic libraries +*.so +*.dylib +*.dll + +# Fortran module files +*.mod +*.smod + +# Compiled Static libraries +*.lai +*.la +*.a +*.lib + +# Executables +*.exe +*.out +*.app + +# Bazel files +/bazel-* + +# Mac +.DS_Store + +# Output directories +/out +/out.* +# Indicator that the tools were deployed +.buildtools diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 000000000..ad4e75ed6 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,67 @@ +# Contributing to opentelemetry-cpp-contrib + +The OpenTelemetry C/C++ special interest group (SIG) meets regularly. See the +OpenTelemetry [community](https://github.com/open-telemetry/community#cc-sdk) +repo for information on this and other language SIGs. + +See the [public meeting notes](https://docs.google.com/document/d/1i1E4-_y4uJ083lCutKGDhkpi3n4_e774SBLi9hPLocw/edit) +for a summary description of past meetings. To request edit access, join the +meeting or get in touch on [Gitter](https://gitter.im/open-telemetry/opentelemetry-cpp). + +See the [community membership document](https://github.com/open-telemetry/community/blob/master/community-membership.md) +on how to become a [**Member**](https://github.com/open-telemetry/community/blob/master/community-membership.md#member), +[**Approver**](https://github.com/open-telemetry/community/blob/master/community-membership.md#approver) +and [**Maintainer**](https://github.com/open-telemetry/community/blob/master/community-membership.md#maintainer). + +## Development + +TBD + +### Build and Run Code Examples + +TBD + +## Pull Requests + +### How to Send Pull Requests + +Everyone is welcome to contribute code to `opentelemetry-cpp-contrib` via GitHub pull +requests (PRs). + +To create a new PR, fork the project in GitHub and clone the upstream repo: + +```sh +git clone --recursive https://github.com/open-telemetry/opentelemetry-cpp-contrib.git +``` + +Add your fork as a remote: + +```sh +git remote add fork https://github.com/YOUR_GITHUB_USERNAME/opentelemetry-cpp-contrib.git +``` + +Check out a new branch, make modifications and push the branch to your fork: + +```sh +git checkout -b feature +# edit files +git commit +git push fork feature +``` + +Open a pull request against the main `opentelemetry-cpp-contrib` repo. + +### How to Receive Comments + +* If the PR is not ready for review, please put `[WIP]` in the title, tag it + as `work-in-progress`, or mark it as [`draft`](https://github.blog/2019-02-14-introducing-draft-pull-requests/). +* Make sure [CLA](https://identity.linuxfoundation.org/projects/cncf) is + signed and CI is clear. + +### How to Get PRs Merged + +This section needs to be written. + +## Useful Resources + +Please refer to main OpenTelemetry C++ SDK [contributing guidelines](https://github.com/open-telemetry/opentelemetry-cpp/blob/master/CONTRIBUTING.md) for more details. diff --git a/README.md b/README.md index d0007de0f..593e48663 100644 --- a/README.md +++ b/README.md @@ -1 +1,25 @@ -# opentelemetry-cpp-contrib +# OpenTelemetry C++ Contrib + +This repository contains set of components extending functionality of the +OpenTelemetry SDK. Instrumentation libraries, exporters, and other components +can find their home here. + +## Contributing + +For information on how to contribute, consult [the contributing +guidelines](./CONTRIBUTING.md) + +## Support + +This repository is maintained by [.NET SDK +maintainers](https://github.com/orgs/open-telemetry/teams/dotnet-maintainers) +team and [.NET SDK +approvers](https://github.com/orgs/open-telemetry/teams/dotnet-approvers) can +help with reviews and code approval. However, as individual components are +developed by numerous contributors, approvers and maintainers are not expected +to directly contribute to every component. + +This repository is great for community supported components. Vendor specific +code that requires a higher supportability guarantees needs to be placed in +vendor's repository. Packages in vendor repositories would be prefixed with the +vendor name to signify the difference from community-supported components. \ No newline at end of file diff --git a/docs/README.md b/docs/README.md new file mode 100644 index 000000000..f359cae3d --- /dev/null +++ b/docs/README.md @@ -0,0 +1,3 @@ +# Documentation + +This directory contains OpenTelemetry C++ contrib documentation. diff --git a/examples/README.md b/examples/README.md new file mode 100644 index 000000000..35fb4deed --- /dev/null +++ b/examples/README.md @@ -0,0 +1,3 @@ +# Examples + +This directory contains OpenTelemetry C++ contrib examples. diff --git a/exporters/README.md b/exporters/README.md new file mode 100644 index 000000000..4915dfb9e --- /dev/null +++ b/exporters/README.md @@ -0,0 +1,3 @@ +# Exporters + +This directory contains OpenTelemetry C++ community-supported exporters. diff --git a/tools/README.md b/tools/README.md new file mode 100644 index 000000000..6a552d8fe --- /dev/null +++ b/tools/README.md @@ -0,0 +1,4 @@ +# Tools + +This directory contains OpenTelemetry C++ contrib tools. + From 88f882838590291a7b6b0917575d151def878759 Mon Sep 17 00:00:00 2001 From: Max Golovanov Date: Mon, 25 Jan 2021 14:35:07 -0800 Subject: [PATCH 2/6] Update README.md Adjust .NET to C++ (correct copy-paste error of a similar dotnet document) --- README.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 593e48663..e94440ab0 100644 --- a/README.md +++ b/README.md @@ -11,10 +11,10 @@ guidelines](./CONTRIBUTING.md) ## Support -This repository is maintained by [.NET SDK -maintainers](https://github.com/orgs/open-telemetry/teams/dotnet-maintainers) -team and [.NET SDK -approvers](https://github.com/orgs/open-telemetry/teams/dotnet-approvers) can +This repository is maintained by [C++ SDK +maintainers](https://github.com/orgs/open-telemetry/teams/cpp-maintainers) +team and [C++ SDK +approvers](https://github.com/orgs/open-telemetry/teams/cpp-approvers) can help with reviews and code approval. However, as individual components are developed by numerous contributors, approvers and maintainers are not expected to directly contribute to every component. @@ -22,4 +22,4 @@ to directly contribute to every component. This repository is great for community supported components. Vendor specific code that requires a higher supportability guarantees needs to be placed in vendor's repository. Packages in vendor repositories would be prefixed with the -vendor name to signify the difference from community-supported components. \ No newline at end of file +vendor name to signify the difference from community-supported components. From 9b745d9f31910912fe6831086e0c7a73cf542b89 Mon Sep 17 00:00:00 2001 From: Max Golovanov Date: Mon, 25 Jan 2021 14:35:51 -0800 Subject: [PATCH 3/6] Update .github/ISSUE_TEMPLATE/bug_report.md Co-authored-by: Reiley Yang --- .github/ISSUE_TEMPLATE/bug_report.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index cf460c066..e0bb4cca2 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -4,7 +4,7 @@ about: Create a report to help us improve labels: bug --- -**Describe your environment** Describe any aspect of your environment relevant to the problem, including your platform, build system, version numbers of installed dependencies, etc. If you're reporting a problem with a specific version of a library in this repo, please check whether the problem has been fixed on master. +**Describe your environment** Describe any aspect of your environment relevant to the problem, including your platform, build system, version numbers of installed dependencies, etc. If you're reporting a problem with a specific version of a library in this repo, please check whether the problem has been fixed on main branch. **Steps to reproduce** Describe exactly how to reproduce the error. Include a code sample if applicable. From 3609d4278411f41b161cb1be5d052f02b9ebffa5 Mon Sep 17 00:00:00 2001 From: Max Golovanov Date: Wed, 24 Feb 2021 10:05:43 -0800 Subject: [PATCH 4/6] Update .gitattributes --- .gitattributes | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitattributes b/.gitattributes index 2ae1c5085..c4172f919 100644 --- a/.gitattributes +++ b/.gitattributes @@ -4,6 +4,7 @@ *.c text diff=cpp *.h text diff=cpp *.cpp text diff=cpp +*.cc text diff=cpp *.cxx text diff=cpp *.hpp text diff=cpp From a24a783dcdba6d6caaf23b9207866a54e491cc81 Mon Sep 17 00:00:00 2001 From: Max Golovanov Date: Mon, 1 Mar 2021 14:05:55 -0800 Subject: [PATCH 5/6] Update CONTRIBUTING.md Remove notion of main repo contributors and maintainers --- CONTRIBUTING.md | 5 ----- 1 file changed, 5 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index ad4e75ed6..95261fa2c 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -8,11 +8,6 @@ See the [public meeting notes](https://docs.google.com/document/d/1i1E4-_y4uJ083 for a summary description of past meetings. To request edit access, join the meeting or get in touch on [Gitter](https://gitter.im/open-telemetry/opentelemetry-cpp). -See the [community membership document](https://github.com/open-telemetry/community/blob/master/community-membership.md) -on how to become a [**Member**](https://github.com/open-telemetry/community/blob/master/community-membership.md#member), -[**Approver**](https://github.com/open-telemetry/community/blob/master/community-membership.md#approver) -and [**Maintainer**](https://github.com/open-telemetry/community/blob/master/community-membership.md#maintainer). - ## Development TBD From 8befd3b2fc69911d1257e3f30296e133f16dfc98 Mon Sep 17 00:00:00 2001 From: Max Golovanov Date: Mon, 1 Mar 2021 14:11:13 -0800 Subject: [PATCH 6/6] Update README.md Clarify on CODEOWNER policy. --- README.md | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index e94440ab0..1b7319c06 100644 --- a/README.md +++ b/README.md @@ -11,13 +11,16 @@ guidelines](./CONTRIBUTING.md) ## Support -This repository is maintained by [C++ SDK -maintainers](https://github.com/orgs/open-telemetry/teams/cpp-maintainers) -team and [C++ SDK -approvers](https://github.com/orgs/open-telemetry/teams/cpp-approvers) can -help with reviews and code approval. However, as individual components are -developed by numerous contributors, approvers and maintainers are not expected -to directly contribute to every component. +This repository accepts public contributions. Individual components are +developed by numerous contributors. Approvers and maintainers of the main +OpenTelemetry C++ SDK repository are not expected to directly contribute +to every component. + +GitHub `CODEOWNER`S file is a simple way to automate away some of the pain +associated with the review system on github, by automatically assigning +reviewers to a pull request based on which files were modified. Individual +components are encouraged to propose changes to `CODEOWNER`S file following +the process [described here](https://docs.github.com/en/github/creating-cloning-and-archiving-repositories/about-code-owners). This repository is great for community supported components. Vendor specific code that requires a higher supportability guarantees needs to be placed in