Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[exporter/datasetexporter]: Initial Commit #20733

Merged

Conversation

martin-majlis-s1
Copy link
Contributor

@martin-majlis-s1 martin-majlis-s1 commented Apr 6, 2023

Description: Adding exporter DataSetExporter - initial commit

Link to tracking Issue: #20660

Testing: This is initial commit without any implementation. It contains only the structure of the exporter.

Documentation: Initial README.md describing configuration options.

@martin-majlis-s1 martin-majlis-s1 requested review from a team and Aneurysm9 April 6, 2023 11:04
@linux-foundation-easycla
Copy link

linux-foundation-easycla bot commented Apr 6, 2023

CLA Signed

The committers listed above are authorized under a signed CLA.

@martin-majlis-s1
Copy link
Contributor Author

martin-majlis-s1 commented Apr 6, 2023

CLA Signed

The committers listed above are authorized under a signed CLA.

@martin-majlis-s1
Copy link
Contributor Author

@atoulme is the sponsor of the linked issue.

@runforesight
Copy link

runforesight bot commented Apr 6, 2023

Foresight Summary

    
Major Impacts

build-and-test duration(25 minutes 7 seconds) has decreased 21 minutes 29 seconds compared to main branch avg(46 minutes 36 seconds).
View More Details

⭕  build-and-test-windows workflow has finished in 6 seconds (30 minutes 28 seconds less than main branch avg.) and finished at 13th Apr, 2023.


Job Failed Steps Tests
windows-unittest-matrix -     🔗  N/A See Details
windows-unittest -     🔗  N/A See Details

✅  telemetrygen workflow has finished in 1 minute 2 seconds and finished at 13th Apr, 2023.


Job Failed Steps Tests
build-dev -     🔗  N/A See Details
publish-latest -     🔗  N/A See Details
publish-stable -     🔗  N/A See Details

✅  check-links workflow has finished in 1 minute 43 seconds (⚠️ 47 seconds more than main branch avg.) and finished at 13th Apr, 2023.


Job Failed Steps Tests
changed files -     🔗  N/A See Details
check-links -     🔗  N/A See Details

✅  changelog workflow has finished in 2 minutes and finished at 13th Apr, 2023.


Job Failed Steps Tests
changelog -     🔗  N/A See Details

✅  prometheus-compliance-tests workflow has finished in 10 minutes 26 seconds (⚠️ 4 minutes 5 seconds more than main branch avg.) and finished at 13th Apr, 2023.


Job Failed Steps Tests
prometheus-compliance-tests -     🔗  N/A See Details

✅  e2e-tests workflow has finished in 16 minutes 21 seconds (⚠️ 2 minutes 17 seconds more than main branch avg.) and finished at 13th Apr, 2023.


Job Failed Steps Tests
kubernetes-test (v1.26.0) -     🔗  N/A See Details
kubernetes-test (v1.25.3) -     🔗  N/A See Details
kubernetes-test (v1.24.7) -     🔗  N/A See Details
kubernetes-test (v1.23.13) -     🔗  N/A See Details

✅  load-tests workflow has finished in 19 minutes 24 seconds (⚠️ 8 minutes 53 seconds more than main branch avg.) and finished at 13th Apr, 2023.


Job Failed Steps Tests
setup-environment -     🔗  N/A See Details
loadtest (TestIdleMode) -     🔗  N/A See Details
loadtest (TestBallastMemory|TestLog10kDPS) -     🔗  N/A See Details
loadtest (TestMetric10kDPS|TestMetricsFromFile) -     🔗  N/A See Details
loadtest (TestMetricResourceProcessor|TestTrace10kSPS) -     🔗  N/A See Details
loadtest (TestTraceNoBackend10kSPS|TestTrace1kSPSWithAttrs) -     🔗  N/A See Details
loadtest (TestTraceBallast1kSPSWithAttrs|TestTraceBallast1kSPSAddAttrs) -     🔗  N/A See Details
loadtest (TestTraceAttributesProcessor) -     🔗  N/A See Details

❌  build-and-test workflow has finished in 25 minutes 7 seconds (21 minutes 29 seconds less than main branch avg.) and finished at 13th Apr, 2023. 4 jobs failed.


Job Failed Steps Tests
setup-environment -     🔗  N/A See Details
govulncheck -     🔗  N/A See Details
check-collector-module-version -     🔗  N/A See Details
check-codeowners -     🔗  N/A See Details
build-examples -     🔗  N/A See Details
checks Gen genotelcontribcol     🔗  N/A See Details
correctness-metrics -     🔗  N/A See Details
correctness-traces -     🔗  N/A See Details
integration-tests -     🔗  N/A See Details
lint-matrix (receiver-0) -     🔗  N/A See Details
lint-matrix (receiver-1) -     🔗  N/A See Details
lint-matrix (processor) -     🔗  N/A See Details
lint-matrix (exporter) -     🔗  N/A See Details
lint-matrix (extension) -     🔗  N/A See Details
lint-matrix (connector) -     🔗  N/A See Details
lint-matrix (internal) -     🔗  N/A See Details
lint-matrix (other) -     🔗  N/A See Details
unittest-matrix (1.20, receiver-0) -     🔗  N/A See Details
unittest-matrix (1.20, receiver-1) -     🔗  N/A See Details
unittest-matrix (1.20, processor) -     🔗  N/A See Details
unittest-matrix (1.20, exporter) -     🔗  N/A See Details
unittest-matrix (1.20, extension) -     🔗  N/A See Details
unittest-matrix (1.20, connector) -     🔗  N/A See Details
unittest-matrix (1.20, internal) -     🔗  N/A See Details
unittest-matrix (1.20, other) Run Unit Tests     🔗  N/A See Details
unittest-matrix (1.19, receiver-0) -     🔗  N/A See Details
unittest-matrix (1.19, receiver-1) -     🔗  N/A See Details
unittest-matrix (1.19, processor) -     🔗  N/A See Details
unittest-matrix (1.19, exporter) -     🔗  N/A See Details
unittest-matrix (1.19, extension) -     🔗  N/A See Details
unittest-matrix (1.19, connector) -     🔗  N/A See Details
unittest-matrix (1.19, internal) -     🔗  N/A See Details
unittest-matrix (1.19, other) -     🔗  N/A See Details
unittest (1.20) Interpret result     🔗  N/A See Details
unittest (1.19) Interpret result     🔗  N/A See Details
lint -     🔗  N/A See Details
build-package -     🔗  N/A See Details
cross-compile -     🔗  N/A See Details
windows-msi -     🔗  N/A See Details
publish-check -     🔗  N/A See Details
publish-stable -     🔗  N/A See Details
publish-dev -     🔗  N/A See Details
rotate-milestone -     🔗  N/A See Details

🔎 See details on Foresight

*You can configure Foresight comments in your organization settings page.

@atoulme
Copy link
Contributor

atoulme commented Apr 6, 2023

This is the right scope of change, thank you! We will need to deal with a few administrative changes to the repo:

  • add a changelog entry (see .chloggen/TEMPLATE)
  • run make gendependabot
  • run make genotelcontribcol
  • run make generate-gh-issue-templates

@atoulme atoulme added the Accepted Component New component has been sponsored label Apr 6, 2023
@martin-majlis-s1
Copy link
Contributor Author

@atoulme : I have reverted those changes in elastic search, since they are not related to dataset. It was automatically changed during refactoring and I have missed it.

@martin-majlis-s1
Copy link
Contributor Author

martin-majlis-s1 commented Apr 10, 2023

@atoulme : I have run those commands - and two of them looks problematic to me:

✅ Validate Changelog

make chlog-validate

cd .../opentelemetry-collector-contrib/internal/tools && go build -o .../opentelemetry-collector-contrib/.tools/chloggen -trimpath go.opentelemetry.io/build-tools/chloggen
.../opentelemetry-collector-contrib/.tools/chloggen validate
PASS: all files in .../opentelemetry-collector-contrib/.chloggen/ are valid

❓ Run Dependabot

make gendependabot

Recreating .github/dependabot.yml file
Add entry for "/" github-actions
Add entry for "/" docker
Add entry for "/" gomod
Add entry for "/cmd/configschema"
Add entry for "/cmd/mdatagen"
...
Add entry for "/receiver/webhookeventreceiver"
Add entry for "/receiver/windowseventlogreceiver"
Add entry for "/receiver/windowsperfcountersreceiver"
The following modules are not included in the dependabot file because it has a limit of 220 entries:
  - /receiver/zipkinreceiver
  - /receiver/zookeeperreceiver
  - /testbed
  - /testbed/mockdatareceivers/mockawsxrayreceiver
  - /testbed/mockdatasenders/mockdatadogagentexporter

2 existing receivers were removed and more of them in the future. This is known issue #19410

✅ Gen Contrib

make genotelcontribcol

cd .../opentelemetry-collector-contrib/internal/tools && go build -o .../opentelemetry-collector-contrib/.tools/builder -trimpath go.opentelemetry.io/collector/cmd/builder
.../opentelemetry-collector-contrib/.tools/builder --skip-compilation --config cmd/otelcontribcol/builder-config.yaml --output-path cmd/otelcontribcol
Flag --output-path has been deprecated, use config distribution::output_path
2023-04-10T18:04:06.219+0200    INFO    internal/command.go:126 OpenTelemetry Collector Builder {"version": "dev", "date": "unknown"}
2023-04-10T18:04:06.225+0200    INFO    internal/command.go:159 Using config file       {"path": "cmd/otelcontribcol/builder-config.yaml"}
2023-04-10T18:04:06.225+0200    INFO    builder/config.go:116   Using go        {"go-executable": "/opt/homebrew/bin/go"}
2023-04-10T18:04:06.233+0200    INFO    builder/main.go:76      Sources created {"path": "cmd/otelcontribcol"}
Error: failed to update go.mod: exit status 1. Output:
go: downloading github.com/open-telemetry/opentelemetry-collector-contrib/exporter/datasetexporter v0.75.0
github.com/open-telemetry/opentelemetry-collector-contrib/cmd/otelcontribcol imports
        github.com/open-telemetry/opentelemetry-collector-contrib/exporter/datasetexporter: reading github.com/open-telemetry/opentelemetry-collector-contrib/exporter/datasetexporter/go.mod at revision exporter/datasetexporter/v0.75.0: unknown revision exporter/datasetexporter/v0.75.0

I have manually added replace line - 3d67349

✅ Gen GH Issue

make generate-gh-issue-templates

for FILE in bug_report feature_request other; do \
                YAML_FILE=".github/ISSUE_TEMPLATE/${FILE}.yaml"; \
                TMP_FILE=".github/ISSUE_TEMPLATE/${FILE}.yaml.tmp"; \
                cat "${YAML_FILE}" > "${TMP_FILE}"; \
                FILE="${TMP_FILE}" ./.github/workflows/scripts/add-component-options.sh > "${YAML_FILE}"; \
                rm "${TMP_FILE}"; \
        done

@martin-majlis-s1
Copy link
Contributor Author

Follow up PR is #20870

@martin-majlis-s1
Copy link
Contributor Author

I have again resolved all the merge conflicts and rerun following commands:

make gendependabot && \
make chlog-validate && \
make genotelcontribcol && \
make generate-gh-issue-templates && \
make generate && \
(cd exporter/datasetexporter; make) && \
(cd exporter/datasetexporter; make test) && \
make -j2 golint GROUP=other && \
.github/workflows/scripts/check-collector-module-version.sh && \
make -j2 goporto && \
make -j2 crosslink && \
make -j2 gotidy && \
make -j2 generate && \
 make multimod-verify && \
make for-all CMD="make tidy"

@martin-majlis-s1 martin-majlis-s1 requested a review from atoulme May 3, 2023 18:38
@martin-majlis-s1
Copy link
Contributor Author

It takes me 40 minutes to resolve all those conflicts:
Screenshot 2023-05-03 at 20 41 26

@martin-majlis-s1
Copy link
Contributor Author

There is again merge conflict 🙈
Screenshot 2023-05-04 at 9 36 19

@atoulme
Copy link
Contributor

atoulme commented May 4, 2023

You're very close :)

@martin-majlis-s1
Copy link
Contributor Author

I have merged main and executed: make gendependabot to fix the merge conflict.

@martin-majlis-s1
Copy link
Contributor Author

@atoulme : I have feeling that I am very close for last 3 weeks. 🙈

@enykeev
Copy link

enykeev commented May 4, 2023

Can we enable auto-merge so that next time this PR is approved and the checks pass, it immediately get merged in?

@atoulme atoulme added the ready to merge Code review completed; ready to merge by maintainers label May 4, 2023
exporter/datasetexporter/README.md Outdated Show resolved Hide resolved
exporter/datasetexporter/config.go Outdated Show resolved Hide resolved
@martin-majlis-s1
Copy link
Contributor Author

I have again executed these commands:

make gendependabot && \
make chlog-validate && \
make genotelcontribcol && \
make generate-gh-issue-templates && \
make generate && \
(cd exporter/datasetexporter; make) && \
(cd exporter/datasetexporter; make test) && \
make -j2 golint GROUP=other && \
.github/workflows/scripts/check-collector-module-version.sh && \
make -j2 goporto && \
make -j2 crosslink && \
make -j2 gotidy && \
make -j2 generate && \
 make multimod-verify && \
make for-all CMD="make tidy"

And all of them passes and no changes are made.

@martin-majlis-s1
Copy link
Contributor Author

There is problem in the step - cache go, but thanks to @mx-psi retries we have been able to get through.

I have created bug report to investigate, what is going on - #21506

@mx-psi mx-psi merged commit 5f47f5b into open-telemetry:main May 5, 2023
@github-actions github-actions bot added this to the next release milestone May 5, 2023
@martin-majlis-s1
Copy link
Contributor Author

Thanks everyone for your time and feedback! I appreciate your patience and expertise, and I'm grateful for the opportunity to learn from you all. Looking forward to contributing more in the future.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Accepted Component New component has been sponsored cmd/configschema configschema command cmd/otelcontribcol otelcontribcol command ready to merge Code review completed; ready to merge by maintainers
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants