weaveworks-experiments / Loki
Loki: Simple, Distributed Tracing
Stars: ✭ 127
Programming Languages
go
31211 projects - #10 most used programming language
Projects that are alternatives of or similar to Loki
gateway
A proxy to buffer and forward metrics, events, and traces.
Stars: ✭ 94 (-25.98%)
Mutual labels: prometheus, zipkin, distributed-tracing
Grpc By Example Java
A collection of useful/essential gRPC Java Examples
Stars: ✭ 709 (+458.27%)
Mutual labels: prometheus, distributed-tracing, zipkin
Opencensus Java
A stats collection and distributed tracing framework
Stars: ✭ 640 (+403.94%)
Mutual labels: prometheus, distributed-tracing, zipkin
Opencensus Go
A stats collection and distributed tracing framework
Stars: ✭ 1,895 (+1392.13%)
Mutual labels: prometheus, distributed-tracing, zipkin
haystack-docker
Repository with docker-compose files to start Haystack components in sandbox
Stars: ✭ 17 (-86.61%)
Mutual labels: opentracing, zipkin, distributed-tracing
Brave Opentracing
Bridge between OpenTracing and Brave
Stars: ✭ 64 (-49.61%)
Mutual labels: distributed-tracing, zipkin, opentracing
Jaeger Php
Jaeger Bindings for PHP OpenTracing API
Stars: ✭ 185 (+45.67%)
Mutual labels: distributed-tracing, zipkin, opentracing
easeagent
An agent component for the Java system
Stars: ✭ 437 (+244.09%)
Mutual labels: opentracing, zipkin, distributed-tracing
Zipkin Go Opentracing
OpenTracing Bridge for Zipkin Go
Stars: ✭ 472 (+271.65%)
Mutual labels: distributed-tracing, zipkin, opentracing
Docker Zipkin
Docker images for OpenZipkin
Stars: ✭ 639 (+403.15%)
Mutual labels: distributed-tracing, zipkin
Molten
php probe for zipkin and opentracing
Stars: ✭ 740 (+482.68%)
Mutual labels: zipkin, opentracing
Spring Petclinic Microservices
Distributed version of Spring Petclinic built with Spring Cloud
Stars: ✭ 814 (+540.94%)
Mutual labels: prometheus, zipkin
Jaeger Client Go
Jaeger Bindings for Go OpenTracing API.
Stars: ✭ 1,035 (+714.96%)
Mutual labels: distributed-tracing, opentracing
Microservice App
A microservices architecture app powered by golang.
Stars: ✭ 114 (-10.24%)
Mutual labels: prometheus, opentracing
Core
Package core is a service container that elegantly bootstrap and coordinate twelve-factor apps in Go.
Stars: ✭ 34 (-73.23%)
Mutual labels: distributed-tracing, opentracing
Zipkin Js
Zipkin instrumentation for Node.js and browsers
Stars: ✭ 489 (+285.04%)
Mutual labels: distributed-tracing, zipkin
Zipkin Armeria Example
Example project that shows how to use armeria and zipkin together
Stars: ✭ 17 (-86.61%)
Mutual labels: distributed-tracing, zipkin
Sttp
The Scala HTTP client you always wanted!
Stars: ✭ 1,078 (+748.82%)
Mutual labels: distributed-tracing, zipkin
Bookstoreapp Distributed Application
Ecommerce project is being developed using Spring Boot Microservices and Spring Cloud (Backend) and React (Frontend). Splitting the Ecommerce functionality into various individual microservices so that they can be distributed, scale really well and make use of resources efficiently.
Stars: ✭ 63 (-50.39%)
Mutual labels: prometheus, zipkin
Loki: Simple Distributed Tracing
Loki is a distributed tracing system inspired by Zipkin and Prometheus.
- Pull Based: a central Loki app pull traces from your instrumented applications
- Service Discover: using Prometheus' Service Discovery frameworks allows Loki to discover your app within many popular orchestrators (Kubernetes, Mesos etc) or service discovery systems (Consul, DNS etc)
Loki consists of:
- A OpenTracing compatible tracer
- The Loki app
Internally Loki is really just an opinionated reimplementation of OpenZipkin.
Instrumenting your app
Instrument you go application according to OpenTracing
- For gRPC, use https://github.com/grpc-ecosystem/grpc-opentracing/tree/master/go/otgrpc
- For HTTP, use https://github.com/opentracing-contrib/go-stdlib
import (
"github.com/grpc-ecosystem/grpc-opentracing/go/otgrpc"
"github.com/weaveworks-experiments/pkg/loki/client"
)
func main() {
// Create a Loki tracer
tracer, err := loki.NewTracer(loki.DefaultConfig)
// explicitly set our tracer to be the default tracer.
opentracing.InitGlobalTracer(tracer)
// Create an instrumented gRPC server
s := grpc.NewServer(
grpc.UnaryInterceptor(
otgrpc.OpenTracingServerInterceptor(tracer),
),
)
// Register a http handler for Loki
http.Handle("/traces", loki.Handler())
log.Fatal(http.ListenAndServe(":8080", nil))
}
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].