Describe your environment. Describe any aspect of your environment relevant to the problem:
<PackageReference Include="OpenTelemetry" Version="0.2.0-alpha.253" />
<PackageReference Include="OpenTelemetry.Collector.AspNetCore" Version="0.2.0-alpha.253" />
<PackageReference Include="OpenTelemetry.Collector.Dependencies" Version="0.2.0-alpha.253" />
<PackageReference Include="OpenTelemetry.Exporter.Jaeger" Version="0.2.0-alpha.253" />
<PackageReference Include="OpenTelemetry.Hosting" Version="0.2.0-alpha.253" />
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.
Update OpenTelemetry package to any version higher than 253, run an application.
What is the expected behavior?
The application starts.
What is the actual behavior?
Method not found: 'OpenTelemetry.Trace.Configuration.TracerBuilder OpenTelemetry.Trace.Configuration.TracerBuilder.AddCollector(System.Func`2<OpenTelemetry.Trace.Tracer,!!0>)'.
with a stacktrace
at OpenTelemetry.Trace.Configuration.TracerBuilderExtensions.AddRequestCollector(TracerBuilder builder)
at Identity.Infrastructure.ServiceCollectionExtensions.<>c__DisplayClass0_0.<AddTracing>b__0(TracerBuilder builder) in E:\Projects\Identity\Infrastructure\ServiceCollectionExtensions.cs:line 30
at OpenTelemetry.Trace.Configuration.TracerFactory.Create(Action`1 configure)
at Microsoft.Extensions.DependencyInjection.OpenTelemetryServicesExtensions.<>c__DisplayClass1_0.<AddOpenTelemetry>b__0()
at Microsoft.Extensions.DependencyInjection.OpenTelemetryServicesExtensions.<>c__DisplayClass3_0.<AddOpenTelemetry>b__0(IServiceProvider s)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitFactory(FactoryCallSite factoryCallSite, RuntimeResolverContext context)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2.VisitCallSiteMain(ServiceCallSite callSite, TArgument argument)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitCache(ServiceCallSite callSite, RuntimeResolverContext context, ServiceProviderEngineScope serviceProviderEngine, RuntimeResolverLock lockType)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitRootCache(ServiceCallSite singletonCallSite, RuntimeResolverContext context)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2.VisitCallSite(ServiceCallSite callSite, TArgument argument)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.Resolve(ServiceCallSite callSite, ServiceProviderEngineScope scope)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.DynamicServiceProviderEngine.<>c__DisplayClass1_0.<RealizeService>b__0(ServiceProviderEngineScope scope)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceProviderEngine.GetService(Type serviceType, ServiceProviderEngineScope serviceProviderEngineScope)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceProviderEngineScope.GetService(Type serviceType)
at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService(IServiceProvider provider, Type serviceType)
at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService[T](IServiceProvider provider)
at OpenTelemetry.Hosting.Implementation.TelemetryFactoryHostedService.StartAsync(CancellationToken cancellationToken)
at Microsoft.AspNetCore.Hosting.HostedServiceExecutor.<>c__DisplayClass3_0.<StartAsync>b__0(IHostedService service)
at Microsoft.AspNetCore.Hosting.HostedServiceExecutor.<ExecuteAsync>d__5.MoveNext()
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.ConfiguredTaskAwaitable.ConfiguredTaskAwaiter.GetResult()
at Microsoft.AspNetCore.Hosting.WebHost.<StartAsync>d__27.MoveNext()
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.GetResult()
at Microsoft.AspNetCore.Hosting.WebHostExtensions.<RunAsync>d__5.MoveNext()
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at Microsoft.AspNetCore.Hosting.WebHostExtensions.<RunAsync>d__5.MoveNext()
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.GetResult()
at Microsoft.AspNetCore.Hosting.WebHostExtensions.<RunAsync>d__4.MoveNext()
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.GetResult()
at Microsoft.AspNetCore.Hosting.WebHostExtensions.Run(IWebHost host)
at Identity.Program.Main(String[] args) in E:\Projects\Identity\Program.cs:line 12
Additional context.
Here's my configuration:
services.AddOpenTelemetry(builder =>
{
builder.UseJaeger(options =>
{
options.ServiceName = serviceName;
options.AgentHost = agentHost;
options.AgentPort = agentPort;
})
.AddRequestCollector()
.AddDependencyCollector()
.SetResource(Resources.CreateServiceResource(serviceName))
.SetSampler(new AlwaysOnSampler());
});
Can you get the latest version 277 to see if you are having issues still?
still a problem here.
worked previously with .227
I have consolidated to .253 as @kirillta
It appears that there is a mix of versioning across the various packages. eg .Hosting has latest of .258; Collector.AspNetCore is .253
Feels like the whole set should be rebuilt against latest?
Ah, sorry this is due to my refactoring and poor communication. We went through and did some renames to meet spec or to better communicate intent.
Try the following:
<PackageReference Include="OpenTelemetry" Version="0.2.0-alpha.277" />
<PackageReference Include="OpenTelemetry.Adapter.AspNetCore" Version="0.2.0-alpha.277" />
<PackageReference Include="OpenTelemetry.Adapter.Dependencies" Version="0.2.0-alpha.277" />
<PackageReference Include="OpenTelemetry.Exporter.Jaeger" Version="0.2.0-alpha.277" />
<PackageReference Include="OpenTelemetry.Extensions.Hosting" Version="0.2.0-alpha.277" />
services.AddOpenTelemetry(builder =>
{
builder.UseJaeger(options =>
{
options.ServiceName = serviceName;
options.AgentHost = agentHost;
options.AgentPort = agentPort;
})
.AddRequestAdapter()
.AddDependencyAdapter()
.SetResource(Resources.CreateServiceResource(serviceName))
.SetSampler(new AlwaysOnSampler());
});
We are considering adding a meta-package #625 which would have minimized the need of transparency of this type of change. Of course, besides the breaking code changes, which would have indicated that a major change has happened.
@longility I don't see updates on MyGet, 253 is still the last consolidated version
Ahhh, makes sense.
This is the point of "alpha" after all :)
@kirillta I forgot to emphasize, we made changes to names of packages. I assume you just updated the version numbers or looking at version numbers for the current packages only. Can you update the package name as well?
OpenTelemetry.Hosting -> OpenTelemetry.Extensions.Hosting
OpenTelemetry.Collector.AspNetCore -> OpenTelemetry.Adapter.AspNetCore
OpenTelemetry.Collector.Dependencies -> OpenTelemetry.Adapter.Dependencies
dotnet seems to be quite a bit behind the others (they've gone beta) and there doesn't seem to be much traction on the milestone issues. I understand "resourcing" for this kind of thing is hard. Do you know if there is "a plan"?
I have some small things in the "perf" area I plan to PR as some small contribution
Now it works. Thanks!
dotnet seems to be quite a bit behind the others (they've gone beta) and there doesn't seem to be much traction on the milestone issues. I understand "resourcing" for this kind of thing is hard. Do you know if there is "a plan"?
I have some small things in the "perf" area I plan to PR as some small contribution
We discussed this in SIG meeting, but sharing for your info:
We delayed beta so as to align .NET platform itself with Open Telemetry. There is another major breaking change coming as we are replacing Span/Tracer with .NET Bcl classes like Activity, ActivitySource etc. Some details are in the below blog post, but expect a lot more info on this over the next few days.
https://medium.com/opentelemetry/opentelemetry-net-sdk-progress-3a63dcdc6cb0
You can also expect to see milestones redefined and tied to specific dates as well soon.
Thank you for taking the time.
I should have found that for myself
That looks really good. Would I be right in thinking that that will be on the dotnet5 timeline? Any thoughts about what happens in the meantime?
I removed all Collector packages from the MyGet feed.
Closing issue, please reopen if there are more questions
@SergeyKanzhelev
I removed all Collector packages from the MyGet feed.
Closing issue, please reopen if there are more questions
Are these Collector packages supposed to be in Nuget still?
https://www.nuget.org/packages/OpenTelemetry.Collector.AspNetCore/0.2.0-alpha.179
Thanks @janaka - you're correct they should be removed from nuget.org too.
I've un-listed and added deprecated warnings/redirects to all of collector packages now.