Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
53 commits
Select commit Hold shift + click to select a range
0521dfa
Introduce OpenTelemetry.DependencyInjection and refactor SDK.
CodeBlanch Nov 18, 2022
d80bfe9
Merge from main.
CodeBlanch Nov 28, 2022
641fd3f
Manual merge fixes.
CodeBlanch Nov 28, 2022
2642179
Some refactoring.
CodeBlanch Nov 29, 2022
7486cc2
Renames.
CodeBlanch Nov 29, 2022
55c1e62
Bug fixes and refactoring.
CodeBlanch Nov 29, 2022
18e5a61
Cleanup and docs.
CodeBlanch Nov 30, 2022
535d8fe
More updates.
CodeBlanch Nov 30, 2022
a735a53
More cleanup.
CodeBlanch Nov 30, 2022
d2f237c
API updates.
CodeBlanch Nov 30, 2022
119514d
Namespace tweaks.
CodeBlanch Dec 1, 2022
cde4679
Refactoring and API changes.
CodeBlanch Dec 2, 2022
754a882
Example tweaks.
CodeBlanch Dec 2, 2022
a3b3bcd
Example cleanup.
CodeBlanch Dec 2, 2022
adf1a00
XML doc updates.
CodeBlanch Dec 2, 2022
6022f84
XML doc updates.
CodeBlanch Dec 2, 2022
1c1bf38
Bug fix.
CodeBlanch Dec 2, 2022
9cf302f
Test fixes.
CodeBlanch Dec 2, 2022
3a75954
Example fixup.
CodeBlanch Dec 2, 2022
6e29c32
Test fixup.
CodeBlanch Dec 2, 2022
bdff2bb
Test fixup.
CodeBlanch Dec 2, 2022
1274793
Example fixup.
CodeBlanch Dec 2, 2022
7f9b9a0
Test fixup.
CodeBlanch Dec 2, 2022
09ef294
Test fixup.
CodeBlanch Dec 2, 2022
c9f33ab
Test fixup.
CodeBlanch Dec 2, 2022
5a38dc0
Merge from main.
CodeBlanch Dec 2, 2022
3e89e15
CHANGELOG patch.
CodeBlanch Dec 2, 2022
d5e4be8
Add test project.
CodeBlanch Dec 2, 2022
7dfdb13
Cleanup.
CodeBlanch Dec 2, 2022
f972732
Added configure tests.
CodeBlanch Dec 2, 2022
adb8d89
MeterProviderBuilder extensions tests.
CodeBlanch Dec 2, 2022
311831e
TracerProviderBuilder extensions tests
CodeBlanch Dec 2, 2022
5a40ee5
Some README content.
CodeBlanch Dec 2, 2022
cf70bf4
CHANGELOG patch.
CodeBlanch Dec 2, 2022
339e28d
Doc updates.
CodeBlanch Dec 2, 2022
df95a5a
Example code fixes.
CodeBlanch Dec 2, 2022
99c0f84
Doc updates.
CodeBlanch Dec 2, 2022
8d895e9
Doc updates.
CodeBlanch Dec 2, 2022
fae1e39
Doc updates and cleanup.
CodeBlanch Dec 2, 2022
ae660bf
Doc updates.
CodeBlanch Dec 2, 2022
a6613f4
Skip ApiCompat on new project.
CodeBlanch Dec 2, 2022
47d6d87
API tweaks.
CodeBlanch Dec 3, 2022
164c0f1
Merge branch 'main' into dependencyinjection-package-refactor
CodeBlanch Dec 3, 2022
6015b06
Test fixes.
CodeBlanch Dec 3, 2022
e85f8ae
XML doc improvements.
CodeBlanch Dec 3, 2022
de72219
Tweaks.
CodeBlanch Dec 5, 2022
f9afd08
Merge from main.
CodeBlanch Dec 8, 2022
752ad56
Project file updates.
CodeBlanch Dec 8, 2022
b1848c0
Test fix.
CodeBlanch Dec 8, 2022
1b8c894
Project rename.
CodeBlanch Dec 8, 2022
6b2971f
Merge from main.
CodeBlanch Dec 8, 2022
91d6784
Manual fixes for merge from main.
CodeBlanch Dec 8, 2022
d95757e
More manual fixes for merge from main.
CodeBlanch Dec 8, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
API tweaks.
  • Loading branch information
CodeBlanch committed Dec 3, 2022
commit 47d6d87c78fe51bf76bcea8b6653b13ee0730370
6 changes: 4 additions & 2 deletions src/OpenTelemetry/.publicApi/net462/PublicAPI.Unshipped.txt
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,10 @@ OpenTelemetry.Metrics.MetricPoint.TryGetHistogramMinMaxValues(out double min, ou
OpenTelemetry.OpenTelemetryBuilder
OpenTelemetry.OpenTelemetryBuilder.ConfigureResource(System.Action<OpenTelemetry.Resources.ResourceBuilder!>! configure) -> OpenTelemetry.OpenTelemetryBuilder!
OpenTelemetry.OpenTelemetryBuilder.Services.get -> Microsoft.Extensions.DependencyInjection.IServiceCollection!
OpenTelemetry.OpenTelemetryBuilder.WithMetrics(System.Action<OpenTelemetry.Metrics.MeterProviderBuilder!>? configure = null) -> OpenTelemetry.OpenTelemetryBuilder!
OpenTelemetry.OpenTelemetryBuilder.WithTracing(System.Action<OpenTelemetry.Trace.TracerProviderBuilder!>? configure = null) -> OpenTelemetry.OpenTelemetryBuilder!
OpenTelemetry.OpenTelemetryBuilder.WithMetrics() -> OpenTelemetry.OpenTelemetryBuilder!
OpenTelemetry.OpenTelemetryBuilder.WithMetrics(System.Action<OpenTelemetry.Metrics.MeterProviderBuilder!>! configure) -> OpenTelemetry.OpenTelemetryBuilder!
OpenTelemetry.OpenTelemetryBuilder.WithTracing() -> OpenTelemetry.OpenTelemetryBuilder!
OpenTelemetry.OpenTelemetryBuilder.WithTracing(System.Action<OpenTelemetry.Trace.TracerProviderBuilder!>! configure) -> OpenTelemetry.OpenTelemetryBuilder!
OpenTelemetry.Resources.ResourceBuilder.AddDetector(System.Func<System.IServiceProvider?, OpenTelemetry.Resources.IResourceDetector!>! resourceDetectorFactory) -> OpenTelemetry.Resources.ResourceBuilder!
OpenTelemetry.Trace.TracerProviderBuilderBase.ConfigureBuilder(System.Action<System.IServiceProvider!, OpenTelemetry.Trace.TracerProviderBuilder!>! configure) -> OpenTelemetry.Trace.TracerProviderBuilder!
OpenTelemetry.Trace.TracerProviderBuilderBase.ConfigureServices(System.Action<Microsoft.Extensions.DependencyInjection.IServiceCollection!>! configure) -> OpenTelemetry.Trace.TracerProviderBuilder!
Expand Down
6 changes: 4 additions & 2 deletions src/OpenTelemetry/.publicApi/net6.0/PublicAPI.Unshipped.txt
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,10 @@ OpenTelemetry.Metrics.MetricPoint.TryGetHistogramMinMaxValues(out double min, ou
OpenTelemetry.OpenTelemetryBuilder
OpenTelemetry.OpenTelemetryBuilder.ConfigureResource(System.Action<OpenTelemetry.Resources.ResourceBuilder!>! configure) -> OpenTelemetry.OpenTelemetryBuilder!
OpenTelemetry.OpenTelemetryBuilder.Services.get -> Microsoft.Extensions.DependencyInjection.IServiceCollection!
OpenTelemetry.OpenTelemetryBuilder.WithMetrics(System.Action<OpenTelemetry.Metrics.MeterProviderBuilder!>? configure = null) -> OpenTelemetry.OpenTelemetryBuilder!
OpenTelemetry.OpenTelemetryBuilder.WithTracing(System.Action<OpenTelemetry.Trace.TracerProviderBuilder!>? configure = null) -> OpenTelemetry.OpenTelemetryBuilder!
OpenTelemetry.OpenTelemetryBuilder.WithMetrics() -> OpenTelemetry.OpenTelemetryBuilder!
OpenTelemetry.OpenTelemetryBuilder.WithMetrics(System.Action<OpenTelemetry.Metrics.MeterProviderBuilder!>! configure) -> OpenTelemetry.OpenTelemetryBuilder!
OpenTelemetry.OpenTelemetryBuilder.WithTracing() -> OpenTelemetry.OpenTelemetryBuilder!
OpenTelemetry.OpenTelemetryBuilder.WithTracing(System.Action<OpenTelemetry.Trace.TracerProviderBuilder!>! configure) -> OpenTelemetry.OpenTelemetryBuilder!
OpenTelemetry.Resources.ResourceBuilder.AddDetector(System.Func<System.IServiceProvider?, OpenTelemetry.Resources.IResourceDetector!>! resourceDetectorFactory) -> OpenTelemetry.Resources.ResourceBuilder!
OpenTelemetry.Trace.TracerProviderBuilderBase.ConfigureBuilder(System.Action<System.IServiceProvider!, OpenTelemetry.Trace.TracerProviderBuilder!>! configure) -> OpenTelemetry.Trace.TracerProviderBuilder!
OpenTelemetry.Trace.TracerProviderBuilderBase.ConfigureServices(System.Action<Microsoft.Extensions.DependencyInjection.IServiceCollection!>! configure) -> OpenTelemetry.Trace.TracerProviderBuilder!
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,10 @@ OpenTelemetry.Metrics.MetricPoint.TryGetHistogramMinMaxValues(out double min, ou
OpenTelemetry.OpenTelemetryBuilder
OpenTelemetry.OpenTelemetryBuilder.ConfigureResource(System.Action<OpenTelemetry.Resources.ResourceBuilder!>! configure) -> OpenTelemetry.OpenTelemetryBuilder!
OpenTelemetry.OpenTelemetryBuilder.Services.get -> Microsoft.Extensions.DependencyInjection.IServiceCollection!
OpenTelemetry.OpenTelemetryBuilder.WithMetrics(System.Action<OpenTelemetry.Metrics.MeterProviderBuilder!>? configure = null) -> OpenTelemetry.OpenTelemetryBuilder!
OpenTelemetry.OpenTelemetryBuilder.WithTracing(System.Action<OpenTelemetry.Trace.TracerProviderBuilder!>? configure = null) -> OpenTelemetry.OpenTelemetryBuilder!
OpenTelemetry.OpenTelemetryBuilder.WithMetrics() -> OpenTelemetry.OpenTelemetryBuilder!
OpenTelemetry.OpenTelemetryBuilder.WithMetrics(System.Action<OpenTelemetry.Metrics.MeterProviderBuilder!>! configure) -> OpenTelemetry.OpenTelemetryBuilder!
OpenTelemetry.OpenTelemetryBuilder.WithTracing() -> OpenTelemetry.OpenTelemetryBuilder!
OpenTelemetry.OpenTelemetryBuilder.WithTracing(System.Action<OpenTelemetry.Trace.TracerProviderBuilder!>! configure) -> OpenTelemetry.OpenTelemetryBuilder!
OpenTelemetry.Resources.ResourceBuilder.AddDetector(System.Func<System.IServiceProvider?, OpenTelemetry.Resources.IResourceDetector!>! resourceDetectorFactory) -> OpenTelemetry.Resources.ResourceBuilder!
OpenTelemetry.Trace.TracerProviderBuilderBase.ConfigureBuilder(System.Action<System.IServiceProvider!, OpenTelemetry.Trace.TracerProviderBuilder!>! configure) -> OpenTelemetry.Trace.TracerProviderBuilder!
OpenTelemetry.Trace.TracerProviderBuilderBase.ConfigureServices(System.Action<Microsoft.Extensions.DependencyInjection.IServiceCollection!>! configure) -> OpenTelemetry.Trace.TracerProviderBuilder!
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,10 @@ OpenTelemetry.Metrics.MetricPoint.TryGetHistogramMinMaxValues(out double min, ou
OpenTelemetry.OpenTelemetryBuilder
OpenTelemetry.OpenTelemetryBuilder.ConfigureResource(System.Action<OpenTelemetry.Resources.ResourceBuilder!>! configure) -> OpenTelemetry.OpenTelemetryBuilder!
OpenTelemetry.OpenTelemetryBuilder.Services.get -> Microsoft.Extensions.DependencyInjection.IServiceCollection!
OpenTelemetry.OpenTelemetryBuilder.WithMetrics(System.Action<OpenTelemetry.Metrics.MeterProviderBuilder!>? configure = null) -> OpenTelemetry.OpenTelemetryBuilder!
OpenTelemetry.OpenTelemetryBuilder.WithTracing(System.Action<OpenTelemetry.Trace.TracerProviderBuilder!>? configure = null) -> OpenTelemetry.OpenTelemetryBuilder!
OpenTelemetry.OpenTelemetryBuilder.WithMetrics() -> OpenTelemetry.OpenTelemetryBuilder!
OpenTelemetry.OpenTelemetryBuilder.WithMetrics(System.Action<OpenTelemetry.Metrics.MeterProviderBuilder!>! configure) -> OpenTelemetry.OpenTelemetryBuilder!
OpenTelemetry.OpenTelemetryBuilder.WithTracing() -> OpenTelemetry.OpenTelemetryBuilder!
OpenTelemetry.OpenTelemetryBuilder.WithTracing(System.Action<OpenTelemetry.Trace.TracerProviderBuilder!>! configure) -> OpenTelemetry.OpenTelemetryBuilder!
OpenTelemetry.Resources.ResourceBuilder.AddDetector(System.Func<System.IServiceProvider?, OpenTelemetry.Resources.IResourceDetector!>! resourceDetectorFactory) -> OpenTelemetry.Resources.ResourceBuilder!
OpenTelemetry.Trace.TracerProviderBuilderBase.ConfigureBuilder(System.Action<System.IServiceProvider!, OpenTelemetry.Trace.TracerProviderBuilder!>! configure) -> OpenTelemetry.Trace.TracerProviderBuilder!
OpenTelemetry.Trace.TracerProviderBuilderBase.ConfigureServices(System.Action<Microsoft.Extensions.DependencyInjection.IServiceCollection!>! configure) -> OpenTelemetry.Trace.TracerProviderBuilder!
Expand Down
42 changes: 36 additions & 6 deletions src/OpenTelemetry/OpenTelemetryBuilder.cs
Original file line number Diff line number Diff line change
Expand Up @@ -77,15 +77,30 @@ public OpenTelemetryBuilder ConfigureResource(
/// Only a single <see cref="MeterProvider"/> will be created for a given
/// <see cref="IServiceCollection"/>.
/// </remarks>
/// <param name="configure">Optional <see cref="MeterProviderBuilder"/>
/// <returns>The supplied <see cref="OpenTelemetryBuilder"/> for chaining
/// calls.</returns>
public OpenTelemetryBuilder WithMetrics()
=> this.WithMetrics(b => { });

/// <summary>
/// Adds metric services into the builder.
/// </summary>
/// <remarks>
/// Note: This is safe to be called multiple times and by library authors.
/// Only a single <see cref="MeterProvider"/> will be created for a given
/// <see cref="IServiceCollection"/>.
/// </remarks>
/// <param name="configure"><see cref="MeterProviderBuilder"/>
/// configuration callback.</param>
/// <returns>The supplied <see cref="OpenTelemetryBuilder"/> for chaining
/// calls.</returns>
public OpenTelemetryBuilder WithMetrics(Action<MeterProviderBuilder>? configure = null)
public OpenTelemetryBuilder WithMetrics(Action<MeterProviderBuilder> configure)
{
Guard.ThrowIfNull(configure);

var builder = new MeterProviderBuilderBase(this.Services);

configure?.Invoke(builder);
configure(builder);

return this;
}
Expand All @@ -98,15 +113,30 @@ public OpenTelemetryBuilder WithMetrics(Action<MeterProviderBuilder>? configure
/// Only a single <see cref="TracerProvider"/> will be created for a given
/// <see cref="IServiceCollection"/>.
/// </remarks>
/// <param name="configure">Optional <see cref="TracerProviderBuilder"/>
/// <returns>The supplied <see cref="OpenTelemetryBuilder"/> for chaining
/// calls.</returns>
public OpenTelemetryBuilder WithTracing()
=> this.WithTracing(b => { });

/// <summary>
/// Adds tracing services into the builder.
/// </summary>
/// <remarks>
/// Note: This is safe to be called multiple times and by library authors.
/// Only a single <see cref="TracerProvider"/> will be created for a given
/// <see cref="IServiceCollection"/>.
/// </remarks>
/// <param name="configure"><see cref="TracerProviderBuilder"/>
/// configuration callback.</param>
/// <returns>The supplied <see cref="OpenTelemetryBuilder"/> for chaining
/// calls.</returns>
public OpenTelemetryBuilder WithTracing(Action<TracerProviderBuilder>? configure = null)
public OpenTelemetryBuilder WithTracing(Action<TracerProviderBuilder> configure)
{
Guard.ThrowIfNull(configure);

var builder = new TracerProviderBuilderBase(this.Services);

configure?.Invoke(builder);
configure(builder);

return this;
}
Expand Down