Skip to content
This repository has been archived by the owner on Oct 5, 2021. It is now read-only.

Latest commit

 

History

History
95 lines (60 loc) · 4.33 KB

README.md

File metadata and controls

95 lines (60 loc) · 4.33 KB

Ballerina Observability

Observability is a measure of how well internal states of a system can be inferred from knowledge of its external outputs. Monitoring, logging, and distributed tracing are key methods that reveal the internal state of the system to provide the observability. Ballerina becomes fully observable by exposing itself via these three methods to various external systems allowing to monitor metrics such as request count and response time statistics, analyze logs, and perform distributed tracing.

About Ballerina

Ballerina makes it easy to write microservices that integrate APIs.

Integration Syntax

A compiled, transactional, statically and strongly typed programming language with textual and graphical syntaxes. Ballerina incorporates fundamental concepts of distributed system integration and offers a type safe, concurrent environment to implement microservices.

Networked Type System

A type system that embraces network payload variability with primitive, object, union, and tuple types.

Concurrency

An execution model composed of lightweight parallel worker units that are non-blocking where no function can lock an executing thread manifesting sequence concurrency.

Table of contents

Getting started

You can use one of the following options to try out Ballerina.

Download and install

Download the binary

You can download the Ballerina distribution at http://ballerina.io.

Install from source

Alternatively, you can install Ballerina from the source using the following instructions.

Prerequisites

Building the source

  1. Clone this repository using the following command.

    git clone --recursive https://github.com/ballerina-platform/ballerina-lang

    If you download the sources, you need to update the git submodules using the following command.

    git submodule update --init 
  2. Run the Maven command mvn clean install from the repository root directory.

  3. Extract the Ballerina distribution created at distribution/zip/ballerina/target/ballerina-<version>-SNAPSHOT.zip.

Contributing to Ballerina

As an open source project, Ballerina welcomes contributions from the community. To start contributing, read these contribution guidelines for information on how you should go about contributing to our project.

Check the issue tracker for open issues that interest you. We look forward to receiving your contributions.

License

Ballerina code is distributed under Apache license 2.0.

Extensions available

The following are the extensions available in this repository.

Tracing Extensions can be found here https://github.com/ballerina-platform/ballerina-observability/tree/master/tracing-extensions/modules

  • ballerina-jaeger-extension
  • ballerina-zipkin-extension
  • ballerina-noop-extension

Metrics Extensions can be found here https://github.com/ballerina-platform/ballerina-observability/tree/master/metrics-extensions/modules

  • ballerina-micrometer-extension
  • ballerina-prometheus-extension

Useful links

  • The [email protected] mailing list is for discussing code changes to the Ballerina project.
  • Chat live with us on our Slack channel.
  • Technical questions should be posted on Stack Overflow with the #ballerina tag.