All Downloads are FREE. Search and download functionalities are using the official Maven repository.

config.base.conf Maven / Gradle / Ivy

There is a newer version: 1.0.2
Show newest version
health.status.path = "/app/isHealthy"

aggregate.stats {
  window.sec = 300 // 5 min
  retention.days = 2
  vnodes = 5
}

kafka {
  storename = "haystack-attributor"

  close.timeout.ms = 30000

  streams {
    application.id = "haystack-attributor"
    bootstrap.servers = "kafkasvc:9092"
    num.stream.threads = 4
    request.timeout.ms = 60000
    auto.offset.reset = latest
    replication.factor = 2
    cache.max.bytes.buffering = 41943040
    timestamp.extractor = "com.expedia.www.haystack.commons.kstreams.SpanTimestampExtractor"
  }

  consumer {
    topic = "proto-spans"
  }
}

elasticsearch {
  client {
    endpoint = "http://elasticsearch:9200"
    conn.timeout.ms = 10000
    read.timeout.ms = 5000
  }
  index {
    service.metadata {
      name = "service-metadata"
    }
  }
}

service {
  host = "localhost"
  port = 8080
  idle.timeout.ms = 60000

  threads {
    min = 1
    max = 5
  }

  client {
    connection.timeout.ms = 15000
    socket.timeout.ms = 20000
  }
}

# For attributing any of the tag(s), use below configuration. You can attribute multiple span tags under a single field in the attributed report.
#
# `items`: Add entries under `items` list for attribution
# `attributeName`: Name of the field under which you want span keys to be attributed. `attribute_name_1` is one of the example from below sample
# `spanTagKeys`: One or more span tag fields which needs be attribted under `attribute.name`. `tag_key_1`, `tag_key_2` are examples
# `operatorType`: Operation that needs to be performed on the values of `span.tag.keys` in that span. Following options are available:
#                   - `COUNT`: look for tag_key_1 / tag_key_2 in span tags, increment the value for attribute_name_1 for every incoming span and set it in attributed report
#                   - `SUM`: look for tag_key_3 / tag_key_4 in span tags and sum the value for all the incoming spans and set it to attribute_name_2 in attributed report
#                   - `BAGGAGE`: add a new tag attribute_name_3 in the attributed report with the value of tag_key_5. If tag_key_5 is not present in span then fallback to default value
# `valueType`: type of value for formatting to be used in email persistence. Its value may one of:
#                   - `COUNT`: for formattting as per number system like 10K, 1.2Mi etc
#                   - `BYTES`: for formatting as memory like 1 Kb, 30.2 Mb, 60Gb etc
#                   - `NONE`
# `valueWhitelistString`: Optional. If we want to attribute only certain spans with values which contains valueWhitelistString. This filter condition is applied on matching spanTagKeys
#
# Refer to the readme for a walk though on how attribution works.

tags.json =
"""
{
  "items": [
    {
      "attributeName": "someKey_agg_count",
      "spanTagKeys": [
        "key1_for_count",
        "key2_for_count"
      ],
      "operatorType": "COUNT",
      "defaultValue": "0",
      "valueType": "COUNT",
      "valueWhitelistString": "only_include_me"
    },
    {
      "attributeName": "someKey_agg_sum",
      "spanTagKeys": [
        "key1_for_sum",
        "key2_for_sum"
      ],
      "operatorType": "SUM",
      "defaultValue": "0",
      "valueType": "BYTES"
    },
    {
      "attributeName": "someKey_bagg",
      "spanTagKeys": [
        "key1_for_bagg"
      ],
      "operatorType": "BAGGAGE",
      "defaultValue": "baggage_default_value",
      "valueType": "NONE"
    }
  ]
}
"""




© 2015 - 2024 Weber Informatics LLC | Privacy Policy