All Projects → majusko → grpc-apm-spring-boot-starter

majusko / grpc-apm-spring-boot-starter

Licence: other
Spring boot starter for gRPC framework with Elastic APM

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to grpc-apm-spring-boot-starter

grpc-jwt-spring-boot-starter
Spring boot starter for gRPC framework with JWT authorization
Stars: ✭ 24 (+33.33%)
Mutual labels:  interceptor, grpc-framework, grpc-java, grpc-library, springboot-starter
Spring Boot Examples
个人学习 SpringBoot2.x 写的一些示例程序,目前正在持续更新中.....
Stars: ✭ 159 (+783.33%)
Mutual labels:  interceptor, springboot
Java Spring Cloud
Distributed tracing for Spring Boot, Cloud and other Spring projects
Stars: ✭ 326 (+1711.11%)
Mutual labels:  tracing, springboot
Grpc Spring Boot Starter
Spring Boot starter module for gRPC framework.
Stars: ✭ 2,190 (+12066.67%)
Mutual labels:  grpc-framework, grpc-java
Java Spring Web
OpenTracing Spring Web instrumentation
Stars: ✭ 89 (+394.44%)
Mutual labels:  tracing, interceptor
LearnCS-ByYourself
CS 自学指南(Java编程语言、数据库、数据结构与算法、计算机组成原理、操作系统、计算机网络、英语、简历、面试)
Stars: ✭ 246 (+1266.67%)
Mutual labels:  springboot
java-jaxrs
OpenTracing Java JAX-RS instrumentation
Stars: ✭ 37 (+105.56%)
Mutual labels:  tracing
nest-xray
Distributed tracing for Nestjs with AWS X-Ray as the backend. Instrument incoming and outgoing HTTP requests
Stars: ✭ 50 (+177.78%)
Mutual labels:  tracing
robert
基于SpringCloud的企业级微服务多租户系统、多语言的脚手架, 代码组件化、高内聚低耦合,代码简介,注释丰富容易上手,该项目包括用于开发分布式应用程序服务的必要组件,支持多应用程序访问,并使开发人员可以轻松地使用Spring Cloud编程模型来开发分布式应用程序服务。
Stars: ✭ 45 (+150%)
Mutual labels:  springboot
kong-plugin-zipkin
A Kong plugin for propogating zipkin spans and reporting spans to a zipkin server - this plugin has been moved into https://github.com/Kong/kong, please open issues and PRs in that repo
Stars: ✭ 60 (+233.33%)
Mutual labels:  tracing
barectf
Generator of ANSI C tracers which output CTF data streams
Stars: ✭ 50 (+177.78%)
Mutual labels:  tracing
jaeger-node
Out of the box distributed tracing for Node.js applications.
Stars: ✭ 66 (+266.67%)
Mutual labels:  tracing
ChuyunBlog
SpringBoot+MyBatis+Thymeleaf 博客系统
Stars: ✭ 147 (+716.67%)
Mutual labels:  springboot
karate-grpc
gRPC Testing Made Simple by Karate
Stars: ✭ 43 (+138.89%)
Mutual labels:  grpc-java
Spring-Boot-2
Spring Boot 2.x examples
Stars: ✭ 33 (+83.33%)
Mutual labels:  springboot
jsf-primefaces
JSF Primefaces Tutorials
Stars: ✭ 93 (+416.67%)
Mutual labels:  springboot
spring-boot-mybatisplus-multiple-datasource
Spring Boot Mybatis Plus 多数据源
Stars: ✭ 64 (+255.56%)
Mutual labels:  springboot
service-api
Report portal. Main API Service
Stars: ✭ 35 (+94.44%)
Mutual labels:  springboot
ipftrace
[Deplicated] Now we have more sophisticated (and compact) implementation in ipftrace2 repository. Please check it as well.
Stars: ✭ 60 (+233.33%)
Mutual labels:  tracing
chat-server-release
[飞享]-服务端发布版本,支持TCP,Websocket链接,只需修改少量的配置即可快速部署,请严格按照项目部署目录配置环境,这样能保证你快速部署成功.详情请进入官网https://www.fsharechat.cn 查看具体的部署说明,技术支持商业合作请找官方技术支持
Stars: ✭ 28 (+55.56%)
Mutual labels:  springboot

Spring boot starter for gRPC framework with Elastic APM tracer

Maven Central Release Build Status Test Coverage License: MIT Join the chat at https://gitter.im/grpc-apm-spring-boot-starter/community

Extending great LogNet gRPC Spring Boot Starter library with APM tracer module. Easy implementation using a prepared interceptor beans ready for registration.

Quick Start

Quick start consist only from 2 simple steps.

1. Add Maven dependency

<dependency>
  <groupId>io.github.majusko</groupId>
  <artifactId>grpc-apm-spring-boot-starter</artifactId>
  <version>${version}</version>
</dependency>

2. Add interceptor to client

Just autowire already prepared ApmClientInterceptor bean and intercept your client. Every request using this client is traced from now on.

@Service
public class ExampleClient {

    @Autowired
    private ApmClientInterceptor apmClientInterceptor;

    public void exampleRequest() {
        final ManagedChannel channel = ManagedChannelBuilder.forTarget(target).usePlaintext().build();
        final Channel interceptedChannel = ClientInterceptors.intercept(channel, apmClientInterceptor);
        final ExampleServiceBlockingStub stub = ExampleServiceGrpc.newBlockingStub(interceptedChannel);
        
        stub.getExample(GetExample.newBuilder().build());
    }
}

Tests

The library is fully covered with integration tests which are also very useful as a usage example.

GrpcApmSpringBootStarterApplicationTest

Contributing

All contributors are welcome. If you never contributed to the open-source, start with reading the Github Flow.

  1. Create an issue
  2. Create a pull request with reference to the issue
  3. Rest and enjoy the great feeling of being a contributor.
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].