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

Merge branch 'ganeshnj/feat/otel-tracer' into develop #1828

Merged
merged 93 commits into from
May 15, 2024

Conversation

ganeshnj
Copy link
Contributor

What and why?

A short description of what changes this PR introduces and why.

How?

A brief description of implementation details of this PR.

Review checklist

  • Feature or bugfix MUST have appropriate tests (unit, integration)
  • Make sure each commit and the PR mention the Issue number or JIRA reference
  • Add CHANGELOG entry for user facing changes

Custom CI job configuration (optional)

  • Run unit tests for Core, RUM, Trace, Logs, CR and WVT
  • Run unit tests for Session Replay
  • Run integration tests
  • Run smoke tests
  • Run tests for tools/

ganeshnj and others added 30 commits January 2, 2024 12:00
RUM-1836 feat(otel-tracer): take dependency on opentelemetry-swift
…ct-dependency

RUM-1836 feat(otel-tracer): update project with opentelemetry-swift dependency
RUM-1836 feat(otel-tracer): conform to otel Tracer, SpanBuilder and Span
Co-authored-by: Maciek Grzybowski <maciek.grzybowski@datadoghq.com>
…-api

RUM-1836 feat(otel-tracer): add support for event APIs
ganeshnj added 17 commits April 16, 2024 15:54
RUM-3853 feat(otel-tracer): remove support for event API
feat(otel-tracer): add send span links in example app
RUM-3185 feat(otel-tracer): use DatadogSDKTesting as SPM dependency
…-tracer

# Conflicts:
#	Datadog/Datadog.xcodeproj/project.pbxproj
#	Datadog/Example/Base.lproj/Main iOS.storyboard
#	Datadog/Example/ExampleAppDelegate.swift
#	Datadog/IntegrationUnitTests/CrashReporting/GeneratingBacktraceTests.swift
#	Datadog/IntegrationUnitTests/CrashReporting/SendingCrashReportTests.swift
#	Datadog/IntegrationUnitTests/Public/NetworkInstrumentationIntegrationTests.swift
#	Datadog/IntegrationUnitTests/RUM/AppHangsMonitoringTests.swift
#	DatadogAlamofireExtension.podspec
#	DatadogCore.podspec
#	DatadogCore/Resources/PrivacyInfo.xcprivacy
#	DatadogCore/Sources/Core/DatadogCore.swift
#	DatadogCore/Sources/Versioning.swift
#	DatadogCore/Tests/Datadog/DatadogCore/DatadogCoreTests.swift
#	DatadogCore/Tests/Datadog/Logs/CrashLogReceiverTests.swift
#	DatadogCore/Tests/Datadog/Mocks/DatadogInternal/DatadogCoreProxy.swift
#	DatadogCore/Tests/Datadog/Mocks/RUMDataModelMocks.swift
#	DatadogCore/Tests/Datadog/Mocks/TracingFeatureMocks.swift
#	DatadogCore/Tests/Datadog/RUM/Integrations/CrashReportReceiverTests.swift
#	DatadogCore/Tests/Datadog/TracerTests.swift
#	DatadogCrashReporting.podspec
#	DatadogCrashReporting/Sources/Integrations/BacktraceReporter.swift
#	DatadogCrashReporting/Sources/PLCrashReporterIntegration/PLCrashReporterIntegration.swift
#	DatadogInternal.podspec
#	DatadogInternal/Sources/BacktraceReporting/BacktraceReporter.swift
#	DatadogInternal/Sources/DatadogCoreProtocol.swift
#	DatadogInternal/Sources/Models/CrashReporting/BacktraceReport.swift
#	DatadogInternal/Sources/Models/CrashReporting/BinaryImage.swift
#	DatadogInternal/Sources/Models/CrashReporting/DDCrashReport.swift
#	DatadogInternal/Sources/Models/CrashReporting/DDThread.swift
#	DatadogInternal/Sources/Models/WebViewTracking/WebViewMessage.swift
#	DatadogInternal/Sources/NetworkInstrumentation/DatadogURLSessionHandler.swift
#	DatadogInternal/Sources/NetworkInstrumentation/NetworkInstrumentationFeature.swift
#	DatadogInternal/Sources/NetworkInstrumentation/URLSession/DatadogURLSessionDelegate.swift
#	DatadogInternal/Sources/NetworkInstrumentation/URLSession/URLSessionTaskInterception.swift
#	DatadogInternal/Tests/NetworkInstrumentation/NetworkInstrumentationFeatureTests.swift
#	DatadogLogs.podspec
#	DatadogLogs/Sources/Feature/Baggages.swift
#	DatadogLogs/Sources/Feature/MessageReceivers.swift
#	DatadogLogs/Sources/Log/LogEventBuilder.swift
#	DatadogLogs/Sources/Log/LogEventEncoder.swift
#	DatadogLogs/Sources/Logs.swift
#	DatadogLogs/Sources/RemoteLogger.swift
#	DatadogLogs/Tests/Log/LogEventBuilderTests.swift
#	DatadogLogs/Tests/RemoteLoggerTests.swift
#	DatadogObjc.podspec
#	DatadogObjc/Sources/RUM/RUMDataModels+objc.swift
#	DatadogRUM.podspec
#	DatadogRUM/Sources/DataModels/RUMDataModels.swift
#	DatadogRUM/Sources/DataModels/RUMDataModelsMapping.swift
#	DatadogRUM/Sources/Feature/RUMFeature.swift
#	DatadogRUM/Sources/Instrumentation/AppHangs/AppHangsWatchdogThread.swift
#	DatadogRUM/Sources/Instrumentation/RUMInstrumentation.swift
#	DatadogRUM/Sources/Integrations/CrashReportReceiver.swift
#	DatadogRUM/Sources/Integrations/TelemetryReceiver.swift
#	DatadogRUM/Sources/Integrations/WebViewEventReceiver.swift
#	DatadogRUM/Sources/RUM+Internal.swift
#	DatadogRUM/Sources/RUMConfiguration.swift
#	DatadogRUM/Sources/RUMMonitor/Monitor.swift
#	DatadogRUM/Sources/RUMMonitor/Scopes/RUMResourceScope.swift
#	DatadogRUM/Sources/RUMMonitor/Scopes/RUMSessionScope.swift
#	DatadogRUM/Sources/RUMMonitor/Scopes/RUMViewScope.swift
#	DatadogRUM/Tests/Instrumentation/AppHangs/AppHangsWatchdogThreadTests.swift
#	DatadogRUM/Tests/Instrumentation/RUMInstrumentationTests.swift
#	DatadogRUM/Tests/Instrumentation/Resources/URLSessionRUMResourcesHandlerTests.swift
#	DatadogRUM/Tests/Integrations/WebViewEventReceiverTests.swift
#	DatadogRUM/Tests/Mocks/RUMDataModelMocks.swift
#	DatadogRUM/Tests/RUMMonitor/Scopes/RUMResourceScopeTests.swift
#	DatadogRUM/Tests/RUMMonitor/Scopes/RUMSessionScopeTests.swift
#	DatadogRUM/Tests/RUMMonitor/Scopes/RUMViewScopeTests.swift
#	DatadogRUM/Tests/RUMTests.swift
#	DatadogSDK.podspec
#	DatadogSDKAlamofireExtension.podspec
#	DatadogSDKCrashReporting.podspec
#	DatadogSDKObjc.podspec
#	DatadogSessionReplay.podspec
#	DatadogSessionReplay/SRSnapshotTests/SRSnapshotTests/Utils/SnapshotTestCase.swift
#	DatadogSessionReplay/Sources/Feature/SessionReplayFeature.swift
#	DatadogSessionReplay/Sources/Recorder/Recorder.swift
#	DatadogSessionReplay/Sources/SessionReplay.swift
#	DatadogSessionReplay/Sources/Writers/RecordWriter.swift
#	DatadogSessionReplay/Sources/Writers/ResourcesWriter.swift
#	DatadogSessionReplay/Tests/Mocks/ResourceMocks.swift
#	DatadogSessionReplay/Tests/Recorder/RecorderTests.swift
#	DatadogSessionReplay/Tests/Writer/ResourcesWriterTests.swift
#	DatadogTrace.podspec
#	DatadogTrace/Sources/DDSpan.swift
#	DatadogTrace/Sources/DatadogTracer.swift
#	DatadogTrace/Sources/Feature/TraceFeature.swift
#	DatadogTrace/Sources/Span/SpanEventBuilder.swift
#	DatadogTrace/Sources/Span/SpanWriteContext.swift
#	DatadogTrace/Sources/Trace.swift
#	DatadogTrace/Tests/Span/SpanEventBuilderTests.swift
#	DatadogTrace/Tests/Span/SpanWriteContextTests.swift
#	DatadogTrace/Tests/TraceTests.swift
#	DatadogTrace/Tests/TracingFeatureMocks.swift
#	DatadogTrace/Tests/TracingURLSessionHandlerTests.swift
#	DatadogWebViewTracking.podspec
#	DatadogWebViewTracking/Sources/MessageEmitter.swift
#	DatadogWebViewTracking/Tests/MessageEmitterTests.swift
#	IntegrationTests/IntegrationScenarios/Scenarios/Logging/LoggingScenarioTests.swift
#	IntegrationTests/IntegrationScenarios/Scenarios/SessionReplay/SRMultipleViewsRecordingScenarioTests.swift
#	IntegrationTests/Runner/Scenarios/Logging/ManualInstrumentation/SendLogsFixtureViewController.swift
#	Makefile
#	Package.swift
#	TestUtilities.podspec
#	TestUtilities/Helpers/DDAssert.swift
#	TestUtilities/Mocks/BacktraceReportingMocks.swift
#	TestUtilities/Mocks/CoreMocks/PassthroughCoreMock.swift
#	TestUtilities/Mocks/FeatureMessageMocks.swift
#	dependency-manager-tests/carthage/App/PrivacyInfo.xcprivacy
#	dependency-manager-tests/cocoapods/App/PrivacyInfo.xcprivacy
#	dependency-manager-tests/cocoapods/CPProject.xcodeproj/project.pbxproj
#	dependency-manager-tests/spm/App/PrivacyInfo.xcprivacy
#	dependency-manager-tests/xcframeworks/App/PrivacyInfo.xcprivacy
feat(otel-tracer): adapt otel implementation with develop branch
…version

feat(otel-tracer): use 1.6.0 version of otel library
# Conflicts:
#	Datadog/Datadog.xcodeproj/project.pbxproj
#	dependency-manager-tests/spm/App/ViewController.swift
@ganeshnj ganeshnj marked this pull request as ready for review May 10, 2024 09:34
@ganeshnj ganeshnj requested review from a team as code owners May 10, 2024 09:34
Copy link
Member

@maciejburda maciejburda left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Woah! Big big effort! 👏 💪

Gave it a pass and left some minor comments. Let me know if they make sense.

Since it was dogfooded, it seems like we're good to go. Wondering if it would make sense to fix flaky CI before we merge this.

Datadog/Datadog.xcodeproj/project.pbxproj Show resolved Hide resolved
DatadogTrace/Sources/Trace.swift Outdated Show resolved Hide resolved
DatadogTrace/Tests/TraceTests.swift Outdated Show resolved Hide resolved
Makefile Show resolved Hide resolved
@datadog-datadog-prod-us1
Copy link

datadog-datadog-prod-us1 bot commented May 10, 2024

Datadog Report

Branch report: ganeshnj/feat/otel-tracer
Commit report: 158d933
Test service: dd-sdk-ios

✅ 0 Failed, 3096 Passed, 0 Skipped, 2m 19.74s Total Time
🔻 Test Sessions change in coverage: 9 decreased, 3 increased, 1 no change

🔻 Code Coverage Decreases vs Default Branch (9)

This report shows up to 5 code coverage decreases.

  • test DatadogCoreTests tvOS 78.79% (-0.83%) - Details
  • test DatadogLogsTests tvOS 45.06% (-0.32%) - Details
  • test DatadogLogsTests iOS 45% (-0.32%) - Details
  • test DatadogRUMTests tvOS 80.73% (-0.3%) - Details
  • test DatadogCoreTests iOS 73.22% (-0.27%) - Details

Copy link
Member

@maciejburda maciejburda left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@ganeshnj ganeshnj merged commit 8be65dc into develop May 15, 2024
20 checks passed
@ganeshnj ganeshnj deleted the ganeshnj/feat/otel-tracer branch May 15, 2024 08:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants