All Projects → opentracing-contrib → Java Spring Cloud

opentracing-contrib / Java Spring Cloud

Licence: apache-2.0
Distributed tracing for Spring Boot, Cloud and other Spring projects

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Java Spring Cloud

Springcloudlearning
《史上最简单的Spring Cloud教程源码》
Stars: ✭ 16,218 (+4874.85%)
Mutual labels:  spring-boot, spring, spring-cloud, zuul, feign, hystrix
Spring Cloud Sleuth
Distributed tracing for spring cloud
Stars: ✭ 1,531 (+369.63%)
Mutual labels:  microservices, spring-boot, spring, spring-cloud, tracing, instrumentation
Java Specialagent
Automatic instrumentation for 3rd-party libraries in Java applications with OpenTracing.
Stars: ✭ 156 (-52.15%)
Mutual labels:  jdbc, spring-boot, spring, tracing, instrumentation, opentracing
Spring Cloud Security
Security concerns for distributed applications implemented in Spring
Stars: ✭ 488 (+49.69%)
Mutual labels:  microservices, spring-boot, spring, spring-cloud, zuul, feign
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 (-80.67%)
Mutual labels:  microservices, spring-boot, spring-cloud, zuul, feign
Microservices Example
Example of a microservices architecture on the modern stack of Java technologies
Stars: ✭ 66 (-79.75%)
Mutual labels:  microservices, spring-boot, spring-cloud, feign, hystrix
Spring Boot Demo
Spring Boot & Spring Cloud & Spring Security Demo Case(Spring学习示例实战项目)
Stars: ✭ 255 (-21.78%)
Mutual labels:  mongodb, spring-boot, spring, spring-cloud, websocket
Mini Platform
Mini-Platform致力于更简洁易用的轻量级微服务治理平台。
Stars: ✭ 45 (-86.2%)
Mutual labels:  microservices, spring-boot, spring, spring-cloud, zuul
Spring Cloud Examples
Spring Cloud 学习案例,服务发现、服务治理、链路追踪、服务监控等
Stars: ✭ 5,829 (+1688.04%)
Mutual labels:  spring-boot, springboot, spring-cloud, zuul, hystrix
Spring Cloud
SpringCloud微服务架构,提供快速上手脚手架,快速构建高可用注册中心,高可用配置中心,加入Hystrix断路器,gateway服务官网,权限认证、服务降级、限流,加入应用监控
Stars: ✭ 130 (-60.12%)
Mutual labels:  spring-boot, spring-cloud, zuul, feign, hystrix
Sample Spring Microservices Advanced
More advanced samples of spring boot and spring cloud microservices showing usage of such tools like api Swagger2 on Zuul, integraction with MongoDB, configuration server, testing with Spring Cloud Contract or Hoverfly
Stars: ✭ 112 (-65.64%)
Mutual labels:  microservices, mongodb, spring-boot, spring-cloud, zuul
Java Spring Web
OpenTracing Spring Web instrumentation
Stars: ✭ 89 (-72.7%)
Mutual labels:  spring-boot, spring, spring-cloud, tracing, opentracing
Jbone
jbone基于Spring Cloud框架开发,旨在为中小企业提供稳定的微服务解决方案,为开发人员提供基础开发骨架,jbone包含微服务中所有常用组件,例如注册中心、服务管理、服务监控、JVM监控、内存分析、调用链跟踪、API网关等等。业务功能包括系统权限的统一管理、单点登录、CMS、电商平台、工作流平台、支付平台等等。
Stars: ✭ 961 (+194.79%)
Mutual labels:  spring-boot, spring, spring-cloud, feign, hystrix
Spring Cloud Examples
Examples of microservice instrastructures
Stars: ✭ 11 (-96.63%)
Mutual labels:  spring-boot, spring, spring-cloud, zuul, hystrix
Spring Boot Examples
about learning Spring Boot via examples. Spring Boot 教程、技术栈示例代码,快速简单上手教程。
Stars: ✭ 26,812 (+8124.54%)
Mutual labels:  mongodb, spring-boot, spring, springboot, spring-cloud
Mall
mall项目是一套电商系统,包括前台商城系统及后台管理系统,基于SpringBoot+MyBatis实现,采用Docker容器化部署。 前台商城系统包含首页门户、商品推荐、商品搜索、商品展示、购物车、订单流程、会员中心、客户服务、帮助中心等模块。 后台管理系统包含商品管理、订单管理、会员管理、促销管理、运营管理、内容管理、统计报表、财务管理、权限管理、设置等模块。
Stars: ✭ 54,797 (+16708.9%)
Mutual labels:  mongodb, spring-boot, spring, springboot, spring-cloud
Lamp Cloud
lamp-cloud 基于Jdk11 + SpringCloud + SpringBoot的微服务快速开发平台,其中的可配置的SaaS功能尤其闪耀, 具备RBAC功能、网关统一鉴权、Xss防跨站攻击、自动代码生成、多种存储系统、分布式事务、分布式定时任务等多个模块,支持多业务系统并行开发, 支持多服务并行开发,可以作为后端服务的开发脚手架。代码简洁,注释齐全,架构清晰,非常适合学习和企业作为基础框架使用。
Stars: ✭ 4,125 (+1165.34%)
Mutual labels:  spring, springboot, spring-cloud, zuul, hystrix
Superboot
随着技术日新月异,新技术新平台不断出现,对现如今的开发人员来说选择快速高效的框架进行项目开发,既能提高产出,又能节约时间。本框架无需开发即可实现服务注册、服务发现、负载均衡、服务网关、配置中心、API管理、分布式事务、支撑平台、集成框架、数据传输加密等功能,是学习SpringCloud整体业务模式的完整示例,并且可以直接用于生产环境
Stars: ✭ 341 (+4.6%)
Mutual labels:  mongodb, springboot, zuul, feign, hystrix
Sample Spring Microservices
Many samples in different branches that shows how to create microservices with Spring Boot, Spring Cloud, Zipkin, Zuul, Eureka, Hystrix, Kubernetes, Elastic Stack and many more tools
Stars: ✭ 368 (+12.88%)
Mutual labels:  microservices, spring-boot, spring-cloud, zuul, hystrix
Spring Cloud Netflix
Integration with Netflix OSS components
Stars: ✭ 4,498 (+1279.75%)
Mutual labels:  microservices, spring-boot, spring, spring-cloud, feign

Build Status Released Version

OpenTracing Spring Cloud

This repository provides OpenTracing instrumentation for Spring Boot and its various extensions. It can be used with any OpenTracing compatible implementation.

It contains auto-configurations which instruments and trace following Spring Boot projects:

  • Spring Web (RestControllers, RestTemplates, WebAsyncTask, WebClient, WebFlux)
  • @Async, @Scheduled, Executors
  • WebSocket STOMP
  • Feign, HystrixFeign
  • Hystrix
  • JMS
  • JDBC
  • Kafka
  • Mongo
  • Zuul
  • Reactor
  • RxJava
  • Redis
  • Standard logging - logs are added to active span
  • Spring Messaging - trace messages being sent through Messaging Channels
  • RabbitMQ

Compatibility table

The following table shows versions with compatible Spring Cloud releases.

opentracing-spring-cloud version OpenTracing API Spring Cloud version
0.5.x 0.33.0 Hoxton
0.4.x 0.32.0 Hoxton
0.3.x 0.32.0 Greenwich
0.2.x 0.31.0 Finchley, Greenwich
0.1.x 0.31.0 Dalston, Edgware

Comparison to spring-cloud-sleuth

This project is similar to spring-cloud-sleuth, both provide out of the box tracing solution for Spring Boot/Cloud. Some of the instrumentations in this package are based on original sleuth work.

However there are a couple of differences:

  • OpenTracing support in sleuth is limited to only one tracer implementation - brave-opentracing. In other words it's not possible to use arbitrary OpenTracing tracer with sleuth.
  • sleuth might support different set of instrumentations.
  • Instrumentations in sleuth might add different set of tags and logs to represent the same events.

Note on dependencies

It's worth noting that the although OpenTracing Spring Cloud contains code for instrumenting a wealth of Spring projects, it however does not pull those dependencies automatically, marking them as optional dependencies instead.

That means that for example a simple Spring Boot REST API application can include OpenTracing Spring Cloud without the fear of polluting the classpath with Spring Cloud dependencies that are otherwise unneeded

Configuration

The preferred way to use this library is via vendored starters. These starters use instrumentations from this library and expose specific tracer configuration in Spring native way:

Explicitly tracer configuration

Just add the following dependency in your pom.xml:

<dependency>
  <groupId>io.opentracing.contrib</groupId>
  <artifactId>opentracing-spring-cloud-starter</artifactId>
</dependency>

, and provide OpenTracing tracer bean:

@Bean
public io.opentracing.Tracer tracer() {
  return new // tracer instance of your choice (Zipkin, Jaeger, LightStep)
}

Properties

Property Default Description
opentracing.spring.cloud.reactor.enabled true Enable Reactor tracing.
opentracing.spring.cloud.async.enabled true Enable tracing for @Async, Executor and WebAsyncTask/Callable.
opentracing.spring.cloud.log.enabled true Add standard logging output to tracing system.
opentracing.spring.cloud.scheduled.enabled true Enable @Scheduled tracing.
opentracing.spring.cloud.feign.enabled true Enable Feign tracing.
opentracing.spring.cloud.gateway.enabled true Enable Gateway tracing.
opentracing.spring.cloud.hystrix.strategy.enabled true Enable Propagation of spans across threads using in Hystrix command tracing.
opentracing.spring.cloud.jdbc.enabled true Enable JDBC tracing.
opentracing.spring.cloud.jms.enabled true Enable JMS tracing.
opentracing.spring.cloud.kafka.enabled true Enable Kafka tracing.
opentracing.spring.cloud.mongo.enabled true Enable MongoDB tracing.
opentracing.spring.cloud.reactor.enabled true Enable Reactor tracing.
opentracing.spring.cloud.rxjava.enabled true Enable RxJava tracing.
opentracing.spring.cloud.websocket.enabled true Enable Websocket tracing.
opentracing.spring.cloud.zuul.enabled true Enable Zuul tracing.
opentracing.spring.cloud.redis.enabled true Enable Redis tracing.
opentracing.spring.cloud.redis.prefixOperationName "" Set a prefix for each Redis operation, e.g: MyPrefix.SET.
opentracing.spring.cloud.jdbc.withActiveSpanOnly false Only trace JDBC calls if they are part of an active Span.
opentracing.spring.cloud.jdbc.ignoreStatements null Set of JDBC statements to not trace.

Development

Maven checkstyle plugin is used to maintain consistent code style based on Google Style Guides

./mvnw clean install
make // to run tests including dependency tests, a specific profile can be specified by make PROFILES=nodeps

Release

Follow instructions in RELEASE

License

Apache 2.0 License.

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].