Haystack

Haystack

  • Docs
  • Contributing
  • Help
  • GitHub
  • Adopters

›About

About

  • Introduction
  • Getting Started
  • Architecture
  • Clients
  • Blobs

Subsystems

  • Subsystems
  • Traces
  • Trends
  • Collector
  • Service Graph
  • Pipes
  • Anomaly Detection
  • Attribution
  • Console

UI

  • UI
  • Traces
  • Trends
  • Alerts
  • Service Graph
  • Service Insights
  • Universal Search

Deployment

  • Deployment
  • Subsystems
  • Clients
Edit

Blobs

Blobs are a way to store any form of data for future need, typically with the request or response data of a service. When used with Haystack, the metadata of a blob is stored in the tag of a span, which is used for reading the blob in the future.

Normally, sending too many tags with a span can strain a tracing infrastructure and greatly increase costs. With blobs, clients can include a much larger volume of information with spans, with retention rates kept separate from Haystack spans.

Using blobs with the Haystack agent

Haystack agent has a blob provider that listens as a gRPC server and accepts protobuf blobs from clients. The blob agent supports the S3 dispatcher to send the blobs to a S3 bucket. You can set up the agent with the following configuration:

agents {
     spans {
       enabled = true
       port = 35000
   
       dispatchers {
         // configure dispatchers
       }
     }
     ossblobs {
       enabled = true
       port = 35001
       max.blob.size.in.kb = 512
       dispatchers {
         s3 {
           keep.alive = true
           max.outstanding.requests = 150
           should.wait.for.upload = true
           max.connections = 50
           retry.count = 1
           bucket.name = "haystack-blobs"
           region = "us-east-1"
           aws.access.key = "accessKey"
           aws.secret.key = "secretKey"
         }
       }
     }
   }

An example of blobs and Haystack integrated together is viewable here. Another blob integration example is included with haystack-docker, with more information available in the getting started instructions.

Blobs with Zipkin-style spans

Blobs are compatible with Zipkin spans as well when used in conjunction with Pitchfork. Example is coming soon.

← ClientsSubsystems →
  • Using blobs with the Haystack agent
  • Blobs with Zipkin-style spans
Haystack
Docs
IntroductionGetting StartedArchitecture
Related
Chat on GitterContributing to Haystack
More
GitHubStar
Expedia
Copyright © 2020 Expedia