Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 

README.md

sender-awssdk-kinesis

This component leverages zipkin-reporter-java interfaces to send spans to Amazon Kinesis using the V2 AWS SDK for collection and processing. Kinesis is an alternative to kafka that is fully managed in the AWS cloud.

Configuration

A minimal configuration of this sender would be:

sender = KinesisSender.create("my-stream");

Additionally, KinesisClient can be customized as needed.

kinesisClient = KinesisClient.builder()
      .httpClient(UrlConnectionHttpClient.create())
      .region(Region.US_EAST_1)
      .endpointOverride(URI.create("http://localhost:4566"))
      .credentialsProvider(
          StaticCredentialsProvider.create(AwsBasicCredentials.create("x", "x")))
      .build();

sender = KinesisSender.newBuilder()
    .streamName("my-stream")
    .kinesisClient(kinesisClient)
    .build();

Requirements

The credentials that your service has requires the following permissions in order to function:

kinesis:DescribeStream for health checking

kinesis:PutRecord for placing spans on the stream

Message encoding

The message's binary data includes a list of spans. Supported encodings are the same as the http POST /spans body.

Encoding defaults to json, but can be overridden to PROTO3 if required.

Related work

collector-kinesis integrates with zipkin-server to pull spans off of a Kinesis stream instead of http or kafka.