First, for users with lots of services, especially if they receive lots of traffic, I've improved the cost of deserializing real-time stats by a factor of ten. This was the largest single contributor to CPU and memory pressure in the exporter.
Also, I've added some flags to help select services to be exported.
- name-exclude-regex: if set, ignore any service whose name matches this regex
- name-include-regex: if set, only include services whose names match this regex
- shard: if set, only include services whose hashed IDs modulo m equal n-1
More information in the README.
I've also added a few flags to tweak the network interaction between the exporter and the Fastly APIs.
- api-refresh: how often to poll api.fastly.com for updated service metadata (default 1m)
- api-timeout: HTTP client timeout for api.fastly.com requests (5–60s) (default 15s)
- rt-timeout: HTTP client timeout for rt.fastly.com requests (45–120s) (default 45s)
Thanks to @neufeldtech and @keur for their assistance with this release.