com.expedia.www:haystack-collector-commons

Haystack component that collects spans from various sources and publish to kafka

License

License

GroupId

GroupId

com.expedia.www
ArtifactId

ArtifactId

haystack-collector-commons
Last Version

Last Version

1.1.10
Release Date

Release Date

Type

Type

jar
Description

Description

Haystack component that collects spans from various sources and publish to kafka

Download haystack-collector-commons

How to add to project

<!-- https://jarcasting.com/artifacts/com.expedia.www/haystack-collector-commons/ -->
<dependency>
    <groupId>com.expedia.www</groupId>
    <artifactId>haystack-collector-commons</artifactId>
    <version>1.1.10</version>
</dependency>
// https://jarcasting.com/artifacts/com.expedia.www/haystack-collector-commons/
implementation 'com.expedia.www:haystack-collector-commons:1.1.10'
// https://jarcasting.com/artifacts/com.expedia.www/haystack-collector-commons/
implementation ("com.expedia.www:haystack-collector-commons:1.1.10")
'com.expedia.www:haystack-collector-commons:jar:1.1.10'
<dependency org="com.expedia.www" name="haystack-collector-commons" rev="1.1.10">
  <artifact name="haystack-collector-commons" type="jar" />
</dependency>
@Grapes(
@Grab(group='com.expedia.www', module='haystack-collector-commons', version='1.1.10')
)
libraryDependencies += "com.expedia.www" % "haystack-collector-commons" % "1.1.10"
[com.expedia.www/haystack-collector-commons "1.1.10"]

Dependencies

compile (14)

Group / Artifact Type Version
com.expedia.www : haystack-span-decorators jar 1.1.10
org.apache.kafka : kafka-clients jar 0.11.0.0
org.apache.kafka : kafka_2.11 jar 0.11.0.0
com.codahale.metrics : metrics-core jar 3.0.2
com.google.protobuf : protobuf-java-util jar 3.4.0
com.expedia.www : haystack-idl-java jar 1.0.64
com.typesafe : config jar 1.3.1
com.google.protobuf : protobuf-java jar 3.4.0
org.scala-lang : scala-library jar 2.11.8
org.scala-lang : scala-reflect jar 2.11.8
ch.qos.logback : logback-classic jar 1.2.3
ch.qos.logback : logback-core jar 1.2.3
org.slf4j : slf4j-api jar 1.7.25
org.apache.commons : commons-lang3 jar 3.4

test (5)

Group / Artifact Type Version
org.scalatest : scalatest_2.11 jar 3.0.3
org.pegdown : pegdown jar 1.6.0
junit : junit jar 4.12
org.easymock : easymock jar 3.4
org.mockito : mockito-core jar 2.23.0

Project Modules

There are no modules declared in this project.

Build Status License

haystack-collector

This haystack component collects spans from various sources and publish to kafka. As of today, we support two sources:

  1. Kinesis: Kinesis span collector reads proto serialized spans from a kinesis stream, validates it and write the data to configured kafka topic.
  2. Http: Http span collector listens on port 8080 for proto or json serialized spans, validate them and write to configured kafka topic. For more detail read this

Spans are validated to ensure they dont't contain an empty service and operation name. The startTime and duration should be non-zero.

Building

Since this repo contains haystack-idl as the submodule, so use the following to clone the repo

####Prerequisite:

  • Make sure you have Java 1.8
  • Make sure you have maven 3.3.9 or higher
  • Make sure you have docker 1.13 or higher

Note : For mac users you can download docker for mac to set you up for the last two steps.

####Build

For a full build, including unit tests and integration tests, docker image build, you can run -

make all

####Integration Test

####Prerequisite:

  1. Install docker using Docker Tools or native docker if on mac
  2. Verify if docker-compose is installed by running following command else install it.
docker-compose

Run the build and integration tests for individual components with

make kinesis

or

make http

com.expedia.www

Expedia.com

Versions

Version
1.1.10
1.1.9
1.1.8
1.1.7
1.1.6
1.1.5
1.1.4
1.1.3
1.1.1
1.1.0
1.0.0