Directories ¶
Path | Synopsis |
---|---|
cmd
|
|
trickster
Package main is the main package for the Trickster application
|
Package main is the main package for the Trickster application |
trickster/config
Package config provides Trickster configuration abilities, including parsing and printing configuration files, command line parameters, and environment variables, as well as default values and state.
|
Package config provides Trickster configuration abilities, including parsing and printing configuration files, command line parameters, and environment variables, as well as default values and state. |
trickster/config/reload
Package reload helps with reloading the running Trickster configuration
|
Package reload helps with reloading the running Trickster configuration |
trickster/config/reload/options
Package options provides options for configuration reload support
|
Package options provides options for configuration reload support |
examples
|
|
pkg
|
|
backends
Package backends the interface and generic functionality for Backend providers
|
Package backends the interface and generic functionality for Backend providers |
backends/alb
Package alb implements the Application Load Balancer Backend
|
Package alb implements the Application Load Balancer Backend |
backends/alb/pool
Package pool provides an application load balancer pool
|
Package pool provides an application load balancer pool |
backends/clickhouse
Package clickhouse provides the ClickHouse backend provider
|
Package clickhouse provides the ClickHouse backend provider |
backends/influxdb
Package influxdb provides the InfluxDB Backend provider
|
Package influxdb provides the InfluxDB Backend provider |
backends/irondb
Package irondb provides proxy origin support for IRONdb databases.
|
Package irondb provides proxy origin support for IRONdb databases. |
backends/prometheus
Package prometheus provides the Prometheus Backend provider
|
Package prometheus provides the Prometheus Backend provider |
backends/reverseproxy
Package reverseproxy provides the HTTP Reverse Proxy (no caching) Backend provider
|
Package reverseproxy provides the HTTP Reverse Proxy (no caching) Backend provider |
backends/reverseproxycache
Package reverseproxycache provides the HTTP Reverse Proxy Cache Backend provider
|
Package reverseproxycache provides the HTTP Reverse Proxy Cache Backend provider |
cache
Package cache defines the Trickster cache interfaces and provides general cache functionality
|
Package cache defines the Trickster cache interfaces and provides general cache functionality |
cache/badger
Package badger is the BadgerDB implementation of the Trickster Cache
|
Package badger is the BadgerDB implementation of the Trickster Cache |
cache/bbolt
Package bbolt is the bbolt implementation of the Trickster Cache
|
Package bbolt is the bbolt implementation of the Trickster Cache |
cache/filesystem
Package filesystem is the filesystem implementation of the Trickster Cache
|
Package filesystem is the filesystem implementation of the Trickster Cache |
cache/index
Package index defines the Trickster Cache Index
|
Package index defines the Trickster Cache Index |
cache/memory
Package memory is the memory implementation of the Trickster Cache and uses a sync.Map to manage cache objects
|
Package memory is the memory implementation of the Trickster Cache and uses a sync.Map to manage cache objects |
cache/negative
Package negative defines the Negative Cache which is a simple lookup map of httpStatus to TTL in milliseconds
|
Package negative defines the Negative Cache which is a simple lookup map of httpStatus to TTL in milliseconds |
cache/redis
Package redis is the redis implementation of the Trickster Cache and supports Standalone, Sentinel and Cluster
|
Package redis is the redis implementation of the Trickster Cache and supports Standalone, Sentinel and Cluster |
cache/registration
Package registration handles the registration of cache implementations to be used by proxy cache handlers
|
Package registration handles the registration of cache implementations to be used by proxy cache handlers |
cache/status
Package status governs the possible Cache Lookup Status values
|
Package status governs the possible Cache Lookup Status values |
checksum/fnv
Package fnv implements the Fowler Noll Vo hash function (version a) taken with much appreciation from, and giving all credit to: https://github.com/influxdata/influxdb/blob/v1.8.0/models/inline_fnv.go
|
Package fnv implements the Fowler Noll Vo hash function (version a) taken with much appreciation from, and giving all credit to: https://github.com/influxdata/influxdb/blob/v1.8.0/models/inline_fnv.go |
checksum/md5
Package md5 provides string-based checksum functionality
|
Package md5 provides string-based checksum functionality |
checksum/sha1
Package sha1 provides string-based checksum functionality
|
Package sha1 provides string-based checksum functionality |
encoding/gzip
Package gzip provides gzip capabilities for byte slices
|
Package gzip provides gzip capabilities for byte slices |
locks
Package locks provides Named Locks functionality for managing mutexes by string name (e.g., cache keys).
|
Package locks provides Named Locks functionality for managing mutexes by string name (e.g., cache keys). |
observability/logging
Package logging provides logging functionality to Trickster
|
Package logging provides logging functionality to Trickster |
observability/metrics
Package metrics implements prometheus metrics and exposes the metrics HTTP listener
|
Package metrics implements prometheus metrics and exposes the metrics HTTP listener |
observability/tracing
Package tracing provides distributed tracing services to Trickster
|
Package tracing provides distributed tracing services to Trickster |
observability/tracing/errors
Package errors provides tracing errors
|
Package errors provides tracing errors |
observability/tracing/exporters/jaeger
Package jaeger provides a Jaeger Tracer
|
Package jaeger provides a Jaeger Tracer |
observability/tracing/exporters/noop
Package noop provides a Noop Tracer
|
Package noop provides a Noop Tracer |
observability/tracing/exporters/stdout
Package stdout provides a Stdout Tracer
|
Package stdout provides a Stdout Tracer |
observability/tracing/exporters/zipkin
Package zipkin provides a Zipkin Tracer
|
Package zipkin provides a Zipkin Tracer |
observability/tracing/registration
Package registration registers configured tracers for use with handlers
|
Package registration registers configured tracers for use with handlers |
parsing/sql
Package sql provides a basic SQL SQLParser that can be extended by individual implementations.
|
Package sql provides a basic SQL SQLParser that can be extended by individual implementations. |
proxy
Package proxy provides all proxy services for Trickster
|
Package proxy provides all proxy services for Trickster |
proxy/context
Package context manages the insertion of Request-specific information (which cache to use, etc.) into proxied HTTP requests
|
Package context manages the insertion of Request-specific information (which cache to use, etc.) into proxied HTTP requests |
proxy/engines
Package engines provides the Reverse Proxy, Reverse Proxy Cache, and Time Series Delta Proxy Cache features for use by handlers.
|
Package engines provides the Reverse Proxy, Reverse Proxy Cache, and Time Series Delta Proxy Cache features for use by handlers. |
proxy/errors
Package errors provides common Error functionality to the Trickster proxy
|
Package errors provides common Error functionality to the Trickster proxy |
proxy/handlers
Package handlers provides several non-proxy handlers for use internally by other Trickster handlers
|
Package handlers provides several non-proxy handlers for use internally by other Trickster handlers |
proxy/handlers/health
Package health provides an application-wide health handler endpoint that is usually mapped to /trickster/health and provides the health status of the application's configured proxy endpoints
|
Package health provides an application-wide health handler endpoint that is usually mapped to /trickster/health and provides the health status of the application's configured proxy endpoints |
proxy/headers
Package headers provides functionality for HTTP Headers not provided by the builtin net/http package
|
Package headers provides functionality for HTTP Headers not provided by the builtin net/http package |
proxy/methods
Package methods provides functionality for handling HTTP methods
|
Package methods provides functionality for handling HTTP methods |
proxy/params
Package params provides support for handling URL Parameters
|
Package params provides support for handling URL Parameters |
proxy/ranges/byterange
Package byterange provides acceleration functions for Byte Ranges for use with HTTP Range Requests
|
Package byterange provides acceleration functions for Byte Ranges for use with HTTP Range Requests |
proxy/request
Package request provides functionality for handling HTTP Requests including the insertion of configuration options into the request
|
Package request provides functionality for handling HTTP Requests including the insertion of configuration options into the request |
proxy/tls
Package tls handles options for TLS (https) requests
|
Package tls handles options for TLS (https) requests |
proxy/urls
Package urls provides capabilities for manipulating URLs that are not provided by the builtin net/url package
|
Package urls provides capabilities for manipulating URLs that are not provided by the builtin net/url package |
routing
Package routing is the Trickster Request Router
|
Package routing is the Trickster Request Router |
runtime
Package runtime holds application runtime information
|
Package runtime holds application runtime information |
testutil
Package testing provides functionality for use when conducting tests
|
Package testing provides functionality for use when conducting tests |
testutil/timeseries/model
Package model is a test utility package that serializes between a *DataSet and the Prometheus HTTP API JSON Format
|
Package model is a test utility package that serializes between a *DataSet and the Prometheus HTTP API JSON Format |
testutil/tls
Package tls provides functionality for use when conducting tests with TLS
|
Package tls provides functionality for use when conducting tests with TLS |
timeseries
Package timeseries defines the interface for managing time seres objects and provides time range manipulation capabilities
|
Package timeseries defines the interface for managing time seres objects and provides time range manipulation capabilities |
timeseries/dataset
Package dataset defines the interface for managing time seres objects and provides time range manipulation capabilities
|
Package dataset defines the interface for managing time seres objects and provides time range manipulation capabilities |
timeseries/sqlparser
Package sqlparser provides customizations to the base sql parser that are specific to timeseries (for example, parsing trickster directives from comments)
|
Package sqlparser provides customizations to the base sql parser that are specific to timeseries (for example, parsing trickster directives from comments) |
util
Package util provides utility sub-packages to Trickster
|
Package util provides utility sub-packages to Trickster |
util/middleware
Package middleware provides middleware functions used by the Router during registration to construct handler chains
|
Package middleware provides middleware functions used by the Router during registration to construct handler chains |
util/regexp/matching
Package matching provides patterns for processing regexp.Regexp matches
|
Package matching provides patterns for processing regexp.Regexp matches |
util/strings
Package strings provides extended functionality for string types
|
Package strings provides extended functionality for string types |
util/timeconv
Package timeconv provides time conversion capabilities to Trickster
|
Package timeconv provides time conversion capabilities to Trickster |
Click to show internal directories.
Click to hide internal directories.