Giter Club home page Giter Club logo

module-ballerinax-jaeger's Introduction

Ballerina Jaeger Observability Extension

Build GitHub Last Commit License codecov

Building from the Source

Setting Up the Prerequisites

  1. Download and install Java SE Development Kit (JDK) version 17 (from one of the following locations).

    • Oracle

    • OpenJDK

      Note: Set the JAVA_HOME environment variable to the path name of the directory into which you installed JDK.

Building the Source

Execute the commands below to build from source.

  1. To build the library:

     ./gradlew clean build
    
  2. To run the integration tests:

     ./gradlew clean test
    

Contributing to Ballerina

As an open source project, Ballerina welcomes contributions from the community.

For more information, go to the contribution guidelines.

Code of Conduct

All contributors are encouraged to read the Ballerina Code of Conduct.

Useful Links

module-ballerinax-jaeger's People

Contributors

anoukh avatar anupama-pathirage avatar azinneera avatar ballerina-bot avatar gabilang avatar grainier avatar ibaqu avatar keizer619 avatar kishanthan avatar madushajg avatar maheshika avatar manuranga avatar maryamzi avatar nadundesilva avatar nipunamadhushan avatar nipunaranasinghe avatar niveathika avatar praneesha avatar praveennadarajah avatar pubudu91 avatar sachinisam avatar supuns avatar tharinduwijewardane avatar tharmigank avatar thisaruguruge avatar trajinthan avatar udda1996 avatar warunalakshitha avatar wggihan avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

module-ballerinax-jaeger's Issues

Adding a request input (id) to span

Description:

Suggested Labels:

Suggested Assignees:

Affected Product Version:

OS, DB, other environment details and versions:

Steps to reproduce:

Related Issues:

Add a workflow to publish to central

Description:
Currently jaeger module no longer packed with ballerina-distribution and we need a seperate workflow to publish jaeger to ballerina dev and stage centrals.

Suggested Labels:

Suggested Assignees:

Affected Product Version:

OS, DB, other environment details and versions:

Steps to reproduce:

Related Issues:

Add additional propagator to support the “W3C Tracecontext” format

Description:
Distributed tracing interoperability is limited to services which use the Jaeger propagation format. Interoperability would be aided with support for the W3C Tracecontext format.

Currently the Jaeger library is hard-coded to propagate span context in the Jaeger format.

In November of 2021, the W3C released a new format for span context intended to serve as a vendor-neutral standard, called “Tracecontext”. I’d like to suggest adding an option support for the Tracecontext propagator, in addition to a default Jaeger propagator.

Affected Product Version:
All Jaeger module versions (tested on v.0.2.7)

OS, DB, other environment details and versions:
N/A

Steps to reproduce:

  1. Instrument a service in another language where the W3C Tracecontext format is used for span context propagation
  2. Make a call to a Ballerina service with Jaeger tracing enabled
  3. See that the spans are not connected - the root span created by Ballerina will not be associated with the upstream service's context

Related Issues:
N/A

`bal build` gives warning on conflicting jar files when jaeger tracing is enabled

Description:
I have the following sample http service:

import ballerina/http;
import ballerina/log;
import ballerinax/prometheus as _;
import ballerinax/jaeger as _;

service /hello on new http:Listener(9090) {

    resource function get .() returns string|error {
        log:printInfo("Hello service invoked!");
        http:Client greetingsClient = check new ("http://localhost:9091/greeting");
        string|error greeting = greetingsClient->get("");
        if greeting is error {
            log:printError("Failed to get greeting", greeting);
            return error("Failed to fetch greeting");
        } else {
            log:printInfo("Obtained greeting successfully", greeting = greeting);
            return "Hello World! " + greeting;
        }
    }
}

When I try to build it with bal build, following warning is reported:

        imesha/cloud_native_example:0.1.0
WARNING [ballerinax/prometheus/0.1.9::metric_reporter.bal:(63:13,63:13)] concurrent calls will not be made to this method since the method is not an 'isolated' method

Generating executable
        warning: Detected conflicting jar files:
                'netty-handler-4.1.68.Final.jar' dependency of 'ballerina/http' conflict with 'netty-handler-4.1.52.Final.jar' dependency of 'ballerinax/jaeger'
                'opentelemetry-api-1.0.0.jar' dependency of 'ballerinax/jaeger' conflict with 'ballerina-rt-2.0.0-beta.4-20211105-094600-cdc79f6c.jar' dependency of 'imesha/cloud_native_example'
                'opentelemetry-context-1.0.0.jar' dependency of 'ballerinax/jaeger' conflict with 'ballerina-rt-2.0.0-beta.4-20211105-094600-cdc79f6c.jar' dependency of 'imesha/cloud_native_example'
        target/bin/cloud_native_example.jar

Steps to reproduce:
See description

Affected Versions:
SL Beta 3 and SL Beta 4 RC1

Add Graavlvm check workflow

Description:
A workflow should be added to verify graalvm compatibility for jaeger module.

Suggested Labels:

Suggested Assignees:

Affected Product Version:

OS, DB, other environment details and versions:

Steps to reproduce:

Related Issues:

Fix task dependency issues in build.gradle

Description:
Gradle task dependency issues occurred when publishing jaeger.

Reason: Task ':jaeger-extension-ballerina:ballerinaBuild' uses this output of task ':jaeger-extension-ballerina:generatePomFileForMavenJavaPublication' without declaring an explicit or implicit dependency. This can lead to incorrect results being produced, depending on what order the tasks are executed.
    
    Possible solutions:
      1. Declare task ':jaeger-extension-ballerina:generatePomFileForMavenJavaPublication' as an input of ':jaeger-extension-ballerina:ballerinaBuild'.
      2. Declare an explicit dependency on ':jaeger-extension-ballerina:generatePomFileForMavenJavaPublication' from ':jaeger-extension-ballerina:ballerinaBuild' using Task#dependsOn.
      3. Declare an explicit dependency on ':jaeger-extension-ballerina:generatePomFileForMavenJavaPublication' from ':jaeger-extension-ballerina:ballerinaBuild' using Task#mustRunAfter.

Suggested Labels:

Suggested Assignees:

Affected Product Version:

OS, DB, other environment details and versions:

Steps to reproduce:

Related Issues:

Sample issue

Description:

Suggested Labels:

Suggested Assignees:

Affected Product Version:

OS, DB, other environment details and versions:

Steps to reproduce:

Related Issues:

Support publishing traces for services started during `bal test`

Description:
$subject needs to be supported. AoN, the services need to be up and running separately using bal run if we are to publish traces for the requests made during tests.

Suggested Labels:

Suggested Assignees:

Affected Product Version:

OS, DB, other environment details and versions:

Steps to reproduce:

Related Issues:

Update opentelemetry version to latest

Description:
Currently we use version 1.0.0 for opentelemetry packages which was released in 2021. We need to update the opentelemetry package versions to the latest. But there were some breaking changes done in opentelemetry packages which affects our implementation as well. We need to do some changes in our implementation in jaeger module as well.

Suggested Labels:

Suggested Assignees:

Affected Product Version:

OS, DB, other environment details and versions:

Steps to reproduce:

Related Issues:

`bal build` gives warning on conflicting jar files when jaeger tracing is enabled with grpc

Description:
I have the following sample grpc service:

import ballerina/grpc;
import ballerina/log;
import ballerinax/jaeger as _;

@grpc:ServiceDescriptor {
    descriptor: GRPC_CLIENT_STREAMING_DESC
}
service "HelloWorld" on new grpc:Listener(9090) {
    isolated remote function lotsOfGreetings(stream<string, error?> clientStream)
                        returns string|error {
        log:printInfo("Client connected successfully.");
        // Reads and processes each message in the client stream.
        _ = check from string name in clientStream
            do {
                log:printInfo(string `Greet received: ${name}`);
            };
        // Once the client sends a notification to indicate the end of the stream,
        // '()' is returned by the stream.
        return "Ack";
    }
}

When I try to build it with bal build, following warning is reported:

warning: Detected conflicting jar files:
                'netty-handler-4.1.52.Final.jar' dependency of 'ballerinax/jaeger' conflict with 'netty-handler-4.1.77.Final.jar' dependency of 'ballerina/grpc'
                'ballerina-rt-2201.2.3-rc1.jar' dependency of 'nipunal/grpc_client' conflict with 'opentelemetry-api-1.0.0.jar' dependency of 'ballerinax/jaeger'
                'protobuf-java-3.14.0.jar' dependency of 'ballerinax/jaeger' conflict with 'protobuf-java-3.20.3.jar' dependency of 'ballerina/protobuf'
        target/bin/grpc_client.jar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.