by

Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
    Romil Punetha
    @romilpunetha
    Screenshot 2020-05-05 at 2.50.03 PM.png
    56 replies
    Romil Punetha
    @romilpunetha
    Screenshot 2020-05-05 at 6.14.40 PM.png
    Screenshot 2020-05-05 at 6.15.53 PM.png
    Jonathan Whitaker
    @jon-whit
    I'm struggling pretty bad with trace extraction and propagation using the OpenTelemetry Python API. Would anyone have a few seconds to maybe take a look at some code?
    4 replies
    Romil Punetha
    @romilpunetha
    I switched from jaeger all-in-one model to production model, using sidecar agents. However, after that, no traces are being reported by the otel lib. The error that i see is Expected protocol id 82 but got 80. any ideas?
    4 replies
    Romil Punetha
    @romilpunetha
    Screenshot 2020-05-08 at 2.26.33 AM.png
    All my traces break on istio gateway only. Any idea on istio's behaviour wrt Otel? Does it break spans because it considers itself as entrypoint to the cluster, or have i misconfigured Otel? The services in the image are a mix of nodejs and java with java auto instrumentation.
    7 replies
    Romil Punetha
    @romilpunetha
    Screenshot 2020-05-08 at 2.32.55 AM.png
    Romil Punetha
    @romilpunetha
    Screenshot 2020-05-08 at 2.50.24 AM.png
    5 replies
    RAMAN BHADAURIA
    @257ramanrb
    Hi! I haven't contributed to open source yet. Opentelemetry-Java is a project that really excites me and I have used and read about it a lot. I want to contribute to it but I forked the repo, and cloned to my system. But I am getting errors in my local repo, like grpc dependency not resolved. What should i do to resolve this issue?
    John Watson
    @jkwatson
    Make sure you've followed the instructions in the CONTRIBUTING file. I think it should be up to date. The git submodule is easy to miss.
    Ankit Nayan
    @ankitnayan_twitter
    If I use any vendor, will I have to install their agent or OTel collector as agent would work?
    How would Infrastructure metrics be collected by vendors post OTel? Will their agent collect it or will the infra metrics needs to be exposed for OTel collector to scrape?
    2 replies
    Romil Punetha
    @romilpunetha
    How do i enable capturing db query parameters as well? Ive set enhancedDatabaseReporting: true...doesnt seem to work
    mongodb: {
                    enabled: true,
                    path: "@opentelemetry/plugin-mongodb",
                    enhancedDatabaseReporting: true
                },
    Daniel Dyla
    @dyladan
    @romilpunetha the node channel is probably a better place to ask questions about the inner workings of the node instrumentaiton
    3 replies
    Otis Gospodnetić
    @otisg
    Hi. If a vendor can ingest multiple types of data (e.g. logs and metrics) from OT Collector, should it be handled by a single exporter, or should each exporter handle a single type of data?
    3 replies
    csharpknife2002
    @csharpknife2002

    Hi, I am try add tracing information for my node service with OpenTelemetry SDK. I tried three different exporters. Both zipkin and jaeger works, but I have problem with OpenTelemetry Collector exporter.
    I have the following code in my node app:

        const collectorOptions = {
          serviceName: 'otto-demo-app-collector',
          url:'http://127.0.0.1:55678/v1/trace'
          //url is optional and can be omitted - default is http://localhost:55678/v1/trace
        };
    
        const collectorExporter = new CollectorExporter(collectorOptions);
        provider.addSpanProcessor(new SimpleSpanProcessor(collectorExporter));

    I use OpenTelemetry Operator and create a OpenTelemetry collector daemon set with the following config

    apiVersion: opentelemetry.io/v1alpha1
    kind: OpenTelemetryCollector
    metadata:
      name: opentelemetry-zipkin
    spec:
      image: otel/opentelemetry-collector:latest
      mode: daemonset
      config: |
        receivers:
          otlp:
          otlp/otto:
            # The receiver will listen on endpoint: "0.0.0.0:9090".
            endpoint: 0.0.0.0:9090
          opencensus:
            endpoint: 0.0.0.0:55678
        processors:
          queued_retry:
    
        exporters:
          zipkin:
            url: "http://zipkin.default.svc.cluster.local:9411/api/v2/spans"
            format: proto
          logging:
    
        service:
          pipelines:
            traces:
              receivers: [otlp/otto,opencensus]
              processors: [queued_retry]
              exporters: [logging,zipkin]

    Please give me some help, suggestion, what I did wrong. Thanks a lot.

    11 replies
    csharpknife2002
    @csharpknife2002

    I am trying to add jaeger exporter in OpenTelemetry collector, but the daemonset pod keep crash and saying

    Error: cannot load configuration: unknown exporter type "jaeger-grpc"
    2020/05/12 21:29:18 Application run finished with error: cannot load configuration: unknown exporter type "jaeger-grpc"
    Error: cannot load configuration: unknown exporter type "jaeger"
    2020/05/12 20:55:09 Application run finished with error: cannot load configuration: unknown exporter type "jaeger"

    both jaeger and jaeger-grpc cannot be recognized. I am using

    image: otel/opentelemetry-collector:latest

    Any suggestion

    4 replies
    csharpknife2002
    @csharpknife2002

    Somehow I just lost what I type in.
    Thanks for the help I got from all of you.
    I am continue the issue I had yesterday with OpenTelemetry Collector from node. I go through my code and pod logs. I did the following updates:

    1. I found the following error logs in my node service pod.

      opentelemetry/proto/collector/trace/v1/trace_service.proto not found

      I noticed other people post similar issue against sdk 0.7.0, so I step back to 0.6.0

    2. Since my node service was deployed in k8s and OpenTelemetryCollector deployed as a Daemonset, I cannot use the localhost since it is not a sidecar. (Please correct me if I am wrong).
      a. I create a service and expose 55680 port and use the selector pointer to those OpenTelemetry Daemonset Pods.
      b. I tried to call the http://open-telemetry-collector-zipkin-jaeger-svc.default.svc.cluster.local:55680/v1/trace inside sh of a pod, it works.
      c. I updated my node service to this dns, I tried with both format, but none of they works.

      const collectorOptions = {
         serviceName: 'otto-demo-app-collector',
         url:'http://open-telemetry-collector-zipkin-jaeger-svc.default.svc.cluster.local:55680/v1/trace'
       };

      and

      const collectorOptions = {
         serviceName: 'otto-demo-app-collector',
         url:'open-telemetry-collector-zipkin-jaeger-svc.default.svc.cluster.local:55680'    };

      btw: I looked the sdk source code in the git, the default url uses the full url.

      const DEFAULT_COLLECTOR_URL = 'http://localhost:55678/v1/trace';
      this.url = config.url || DEFAULT_COLLECTOR_URL;
    3. I also update the collector config to export to zipkin, jaeger and logging, all receivers and exporters started as expected, but I didn't see any output of any of them. My configuration is bellow

      apiVersion: opentelemetry.io/v1alpha1
      kind: OpenTelemetryCollector
      metadata:
      name: opentelemetry-zipkin
      spec:
      image: otel/opentelemetry-collector-dev:latest
      mode: daemonset
      config: |
       receivers:
         otlp:
           # The receiver will listen on endpoint: "0.0.0.0:9090".
           endpoint: 0.0.0.0:55680
       processors:
         batch:
         queued_retry:
      
       exporters:
         zipkin:
           url: "zipkin.default.svc.cluster.local:9411"
           format: proto
         logging:
         jaeger:
           endpoint: "jaeger-collector.default.svc.cluster.local:14250"
      
       service:
         pipelines:
           traces:
             receivers: [otlp]
             processors: [batch,queued_retry]
             exporters: [logging,zipkin,jaeger]
    3 replies
    csharpknife2002
    @csharpknife2002

    Don't know how to reply my own post.. but I have some new findings:

    very interesting result ...
    If I change the receiver type from otlp to opencensus, it works... I cannot explain why since the node service expose to collector (otlp) not opencensus.

        const collectorOptions = {
          serviceName: 'otto-demo-app-collector',
          url:'http://open-telemetry-collector-zipkin-jaeger-svc.default.svc.cluster.local:55680/v1/trace'
        };
    
        const collectorExporter = new CollectorExporter(collectorOptions);
        provider.addSpanProcessor(new SimpleSpanProcessor(collectorExporter));
    csharpknife2002
    @csharpknife2002

    A question related to OpenTelemetry Java SDK upgrade, I am trying to upgrade OpenTelemetry Java SDK from 0.2.0 to 0.3.0 (and potential to 0.4.0). I found my code doesn't compile any more. I did a few simple fixes including

    1. OpenTelemetry.getTracerFactory() => OpenTelemetry.getTracerProvider()
    2. new LoggingExporter() => new LoggingSpanExporter()
      but I had a http interceptor before (I google from online) , I don't know how to fix it or whether in the 0.3 release it can be done in an easy way? I saw there is a B3 propagator, but didn't find an example to use.

      public class TraceInterceptor implements HandlerInterceptor {
      
      @Autowired
      Tracer tracer;
      
      @Override
      public boolean preHandle(
          HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
          HttpTextFormat<SpanContext> textFormat = tracer.getHttpTextFormat();
          Span span;
          try{
      
              SpanContext spanContext = textFormat.extract(
                  request, new HttpTextFormat.Getter<HttpServletRequest>() {
                      @Override
                      public String get(HttpServletRequest req, String key) {
                          return req.getHeader(key);
                      }
                  });
                    span = tracer.spanBuilder(request.getRequestURI()).setParent(spanContext).startSpan();
                    span.setAttribute("handler", "pre");
          }
          catch(Exception e){
              span = tracer.spanBuilder(request.getRequestURI()).startSpan();
              span.setAttribute("handler", "pre");
      
              span.addEvent(e.toString());
              span.setAttribute("error", true);
          }
          tracer.withSpan(span);
      
          System.out.println("Pre Handle Called");
          return true;
      }

      now it complains

    3. type io.opentelemetry.context.propagation.HttpTextFormat does not take parameters
    4. type io.opentelemetry.trace.Tracer doesn't have a method getHttpTextFormat()
    5. io.opentelemetry.context.propagation.HttpTextFormat.Setter cannot be override

    any suggestion is welcome.

    John Watson
    @jkwatson
    @csharpknife2002 you can get the HttpTextFormat from OpenTelemetry.getPropagators().getHttpTextFormat()
    For further Java questions, it's probably quicker to ask in the opentelemetry-java gitter channel
    csharpknife2002
    @csharpknife2002
    @jkwatson Thanks for the help & suggestion, I didn't know there is one for the Java.
    James Courtney
    @jamey-clari

    I'm new to this list and to OpenTelemetry (discovered it yesterday when trying to pick-up a 6-month old Open Tracing thread of work for my company). I'm trying to better understand and prototype how to integrate OpenTelemetry into our Java application with the intention of plumbing tracing events to NewRelic, which seems to have a client "Exporter" available. A few questions I'm scratching my head about looking at the Java APIs in my IDE as well as the published 0.4.0 Javadoc are

    1) obtaining a Tracer using OpenTelemetry.getTracer(<library-identifier>, <library-version>) as described in the quickstart documentation (https://github.com/open-telemetry/opentelemetry-java/blob/master/QUICKSTART.md) - it seems that the correct API may be OpenTelemetry.getTracerProvider().getTracer(<library-identifier>, <library-version>). If so, that's fine, what arguments should I use to reference the New Relic Exporter as the New Relic Exporter Java project seems to indicate a more involved construction in its README (https://github.com/newrelic/opentelemetry-exporter-java). Here those args seem basically ignored.

    2) I'm trying to integrate OpenTelemetry into our application alongside an existing local profiling library I wrote over the years and I'm trying to think of a way to unify the APIs and support either or both behind some interfaces. What is the timestamping for OpenTelemetry spans? The Javadoc for EndSpanOptions.setEndTimestamp states that the long value is the time stamp in nanoseconds since epoch. This differs from Open Tracing which, I believe, was in microseconds. Epoch here is 1970-01-01:00:00:00 UTC as for System.currentTimeMillis() but just in Nanoseconds instead?

    Thanks for any help you folks can provide and, I've I've asked my questions in the wrong place or in the wrong way, please help me do better next time. Thanks!

    John Watson
    @jkwatson
    HI @jamey-clari . I work for New Relic. Join me over in the java channel (https://gitter.im/open-telemetry/opentelemetry-java), and hopefully I can help you out!
    James Courtney
    @jamey-clari
    Wonderful, thanks John!
    Marian Zagoruiko
    @mzahor
    Hi guys, I have some troubles sending telemetry data over otlp protocol (grpc+https) to opentelemetry collector. Can I somehow enable debug mode in the collector to see more detailed logs? Cannot find it in the docs.
    3 replies
    Roman Inflianskas
    @rominf
    My browser freezes on an attempt to display the trace.
    Is there an alternative for Jaeger Web UI (GUI application for GNU/Linux)?
    I trace the deployment process, and lots of time is spent on make command, which calls different targets.
    Is there a way to create and export spans from make?
    Otis Gospodnetić
    @otisg
    Hi. What is the current state of logs support in OT? Can one write exporters for logs today?
    Omer Katz
    @thedrow
    Exactly what I was asking
    I think the answer is no
    Come join us at open-telemetry/logs to discuss this
    Steve Flanders
    @flands
    Not today, but the log SIG is actively working through this
    Omer Katz
    @thedrow
    Yes but I don't really understand the plan
    How do we log using the SDK?
    Or should we use another framework to log?
    Steve Flanders
    @flands
    It is very early days in the log sig — the gitter channel and sig meetings are good places to get information. We have not reached the point of logging libraries. The primary focus currently is around data collection.
    Joshua MacDonald
    @jmacd
    @flands it's bad enough that we're delaying our span and metric work with a wide-ranging discussion about logs ingestion. I am hoping that we do not begin discussing a logging API proper before we hit 1.0 with spans and metrics. There's a big difference between designing a logging API and designing an ingestion pipeline and data representation--I think it's OK (but not great) to be so distracted by the data representation and ingestion question, but please let us hold off on logging API design discussions.
    2 replies
    fclaeys
    @fclaeys
    Hi, I'm trying to use tracing with a grpc gateway.
    I'm able to have span for the gateway (in go based on http example) and for the grpc service (in go too) but I'm not able to correlate the two spans.
    1 reply
    kumarpratyush4
    @kumarpratyush4
    I have trying to configure opentelemtry supported signalfx-php autoinstrumentation for laravel on zipkin backend. I installed the signalfx-php rpm package , ran zipkin on a port and configured the signalfx-php port to the zipkin port. I am not able to see the traces. Am I doing something wrong here
    Adam Jacob
    @adamhjk
    does anyone have a reasonable example of building traces up and propagating them manually for opentelemetry-js from the browser? The basics work, but I'm having a real hard time figuring out how to get the context to propagate (much less be sure its set correctly)
    I suspect it has something to do with making sure the current span is set correctly?
    Anshul Asawa
    @TheAnshul756

    Hi, I'm trying to use Opentelemetry-python to auto-instrument my Django app and I'm using Zipkin as backend.
    But on the Zipkin UI there are only parent traces shown and there are no child spans and I think there should be one.
    Please help me with that. If I need to share more information then you can ask me.
    Screenshot of Zipkin UI
    Screenshot of Zipkin UI

    Implimenation of catalogue function
    `def cataloge(request):
    wait_function()
    books = Book.objects.all().order_by('title').exclude(copies=0)
    return render(request,'home/main.html', {'books' : books})

    def wait_function():
    time.sleep(2)`
    (Yes I know my spelling of catalogue is wrong and just realise it while asking this query)

    Jonathan Whitaker
    @jon-whit

    Are there any semantic conventions defined by the OpenTelemetry spec/community for GraphQL?

    I'm looking for common standards or semantics around what attributes to capture for GraphQL.

    2 replies
    Yusuke Tsutsumi
    @toumorokoshi
    Hi unrelated to opentelemetry, but I figured this is a good audience :) Does anyone have a decision chart handy of when to use metrics / logs / traces? leading a class on telemetry internally, want to help guide devs but I figure someone has already done this.
    Tiago Nápoli
    @tiagonapoli

    Hi! I have a doubt on a spec decision made - The OpenTracing specification defines SpanLogs as:
    "A set of zero or more Span Logs, each of which is itself a key:value map paired with a timestamp. The keys must be strings, though the values may be of any type. "

    And OpenTelemetry defines Events as:

    "A set of zero or more Events, each of which is itself a key:value map paired with a timestamp. The keys must strings, though the values may be of the same types as Span Attributes" - which can be strings, bools, or numeric types

    My doubt is - why OpenTelemetry limited the values types on the key:value Events map?

    John Watson
    @jkwatson
    That sounds like the spec may be out of date. I believe we currently support array-valued attributes as well.
    Romil Punetha
    @romilpunetha
    I moved from jaeger-exporter to opentelemetry-jaeger-exporter and now prometheus cant extract any metrics: level=warn ts=2020-05-27T13:04:05.569Z caller=scrape.go:930 component="scrape manager" scrape_pool=kubernetes-pods target=http://192.168.18.22:14269/metrics msg="append failed" err="\"INVALID\" is not a valid start token"