diff options
| author | Corbin <cds@corbinsimpson.com> | 2022-01-28 15:40:46 -0800 |
|---|---|---|
| committer | Corbin <cds@corbinsimpson.com> | 2022-01-28 15:58:32 -0800 |
| commit | 175cc7efd2a4ae5d76df1e184ffe636633c0694d (patch) | |
| tree | 85762c46e7154c0ed34909d4f808632815b3c699 /pkgs/development/python-modules/rangehttpserver | |
| parent | e87db3c8c332cfed455f39a7784f473bab886c2d (diff) | |
prometheus: Optionally remove service discovery.
I read this hilarious blog post:
https://wejick.wordpress.com/2022/01/29/can-i-have-a-smaller-prometheus/
We can have a smaller Prometheus too. This patch allows users to remove
service discovery for five public clouds (AWS, Azure, DigitalOcean, GCP,
and Linode) and also Kubernetes, simply by setting the corresponding
enable-flag to `false`. I have tested building with each flag as I added
it to the list. I also tested running with all six flags set to `false`,
and the resulting Prometheus can still handle my orthogonal
service-discovery configuration (files).
To meet Adam Savage's definition of science, I measured the size of the
`prometheus` and `promtool` binaries after adding each flag with
`ls -h`.
flag | prometheus | promtool
--------------|------------|----------
starting size | 84M | 74M
AWS | 72M | 61M
Azure | 71M | 61M
GCE | 64M | 53M
k8s | 40M | 53M
DO | 39M | 52M
Linode | 38M | 51M
I did not go as far as the blog post. If folks want, I'll make the rest
of the service discovery optional too.
I did not shrink the build closure, just the output closure; we still
pull all of the various vendored modules into the Nix store during
builds. I don't see how to do this in a neat or easy way.
Diffstat (limited to 'pkgs/development/python-modules/rangehttpserver')
0 files changed, 0 insertions, 0 deletions
