[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Bug#1001903: ITP: loki-database -- Like Prometheus, but for logs.



Hi Antoine,

On 3/31/22 10:19 AM, Antoine Beaupré wrote:
On 2022-03-31 10:06:40, Antoine Beaupré wrote:

[...]

 From that perspective, it's actually worse than Grafana, which has less
dependencies, believe it or not. But Grafana is also a webapp which is
where it really hurt us, because there you also need to package 300+
nodejs dependencies (!). At least loki spares us that horror.

For what it's worth, I looked at those deps and it seems we're missing
about 28 immediate dependencies (which themselves might have their own
missing deps). I tried to run `dh-make-golang estimate` but it fails to
do a report, which is not reassuring.

It also seems like there is a handful of kubernetes stuff in there which
could also be a problem considering the approach *that* package has
taken regarding packaging (which is to vendor all that shit in, so we
can't reuse their work). It could be possible to strip some of that code
out though, maybe we don't need a loki kubernetes operator in Debian for
example. But I haven't actually checked why that code is there at all,
nor how easy such a change would be.

Anyways, here's the dump:

$ dh-make-golang make github.com/grafana/loki
[...]
2022/03/31 10:14:45 Build-Dependency "sigs.k8s.io/controller-runtime" is not yet available in Debian, or has not yet been converted to use XS-Go-Import-Path in debian/control
2022/03/31 10:14:45 Build-Dependency "k8s.io/apimachinery" is not yet available in Debian, or has not yet been converted to use XS-Go-Import-Path in debian/control
2022/03/31 10:14:45 Build-Dependency "github.com/thanos-io/thanos" is not yet available in Debian, or has not yet been converted to use XS-Go-Import-Path in debian/control
2022/03/31 10:14:45 Build-Dependency "github.com/aws/aws-lambda-go" is not yet available in Debian, or has not yet been converted to use XS-Go-Import-Path in debian/control
2022/03/31 10:14:45 Build-Dependency "github.com/grafana/dskit" is not yet available in Debian, or has not yet been converted to use XS-Go-Import-Path in debian/control
2022/03/31 10:14:45 Build-Dependency "github.com/cristalhq/hedgedhttp" is not yet available in Debian, or has not yet been converted to use XS-Go-Import-Path in debian/control
2022/03/31 10:14:45 Build-Dependency "github.com/cloudflare/cloudflare-go" is not yet available in Debian, or has not yet been converted to use XS-Go-Import-Path in debian/control
2022/03/31 10:14:45 Build-Dependency "github.com/fluent/fluent-bit-go" is not yet available in Debian, or has not yet been converted to use XS-Go-Import-Path in debian/control
2022/03/31 10:14:45 Build-Dependency "gopkg.in/Graylog2/go-gelf.v2" is not yet available in Debian, or has not yet been converted to use XS-Go-Import-Path in debian/control
2022/03/31 10:14:45 Build-Dependency "inet.af/netaddr" is not yet available in Debian, or has not yet been converted to use XS-Go-Import-Path in debian/control
2022/03/31 10:14:45 Build-Dependency "github.com/weaveworks/common" is not yet available in Debian, or has not yet been converted to use XS-Go-Import-Path in debian/control
2022/03/31 10:14:45 Build-Dependency "github.com/uber/jaeger-client-go" is not yet available in Debian, or has not yet been converted to use XS-Go-Import-Path in debian/control
2022/03/31 10:14:45 Build-Dependency "github.com/sony/gobreaker" is not yet available in Debian, or has not yet been converted to use XS-Go-Import-Path in debian/control
2022/03/31 10:14:45 Build-Dependency "github.com/drone/envsubst" is not yet available in Debian, or has not yet been converted to use XS-Go-Import-Path in debian/control
2022/03/31 10:14:45 Build-Dependency "github.com/joncrlsn/dque" is not yet available in Debian, or has not yet been converted to use XS-Go-Import-Path in debian/control
2022/03/31 10:14:45 Build-Dependency "github.com/docker/go-plugins-helpers" is not yet available in Debian, or has not yet been converted to use XS-Go-Import-Path in debian/control
2022/03/31 10:14:45 Build-Dependency "k8s.io/client-go" is not yet available in Debian, or has not yet been converted to use XS-Go-Import-Path in debian/control
2022/03/31 10:14:45 Build-Dependency "github.com/ViaQ/logerr" is not yet available in Debian, or has not yet been converted to use XS-Go-Import-Path in debian/control
2022/03/31 10:14:45 Build-Dependency "github.com/c2h5oh/datasize" is not yet available in Debian, or has not yet been converted to use XS-Go-Import-Path in debian/control
2022/03/31 10:14:45 Build-Dependency "gopkg.in/fsnotify.v1" is not yet available in Debian, or has not yet been converted to use XS-Go-Import-Path in debian/control
2022/03/31 10:14:45 Build-Dependency "k8s.io/api" is not yet available in Debian, or has not yet been converted to use XS-Go-Import-Path in debian/control
2022/03/31 10:14:45 Build-Dependency "github.com/prometheus-operator/prometheus-operator" is not yet available in Debian, or has not yet been converted to use XS-Go-Import-Path in debian/control
2022/03/31 10:14:45 Build-Dependency "github.com/shurcooL/vfsgen" is not yet available in Debian, or has not yet been converted to use XS-Go-Import-Path in debian/control
2022/03/31 10:14:45 Build-Dependency "github.com/Workiva/go-datastructures" is not yet available in Debian, or has not yet been converted to use XS-Go-Import-Path in debian/control
2022/03/31 10:14:45 Build-Dependency "github.com/prometheus/prometheus" is not yet available in Debian, or has not yet been converted to use XS-Go-Import-Path in debian/control
2022/03/31 10:14:45 Build-Dependency "github.com/fsouza/fake-gcs-server" is not yet available in Debian, or has not yet been converted to use XS-Go-Import-Path in debian/control
2022/03/31 10:14:45 Build-Dependency "github.com/grafana/regexp" is not yet available in Debian, or has not yet been converted to use XS-Go-Import-Path in debian/control
2022/03/31 10:14:45 Build-Dependency "github.com/aws/aws-sdk-go-v2" is not yet available in Debian, or has not yet been converted to use XS-Go-Import-Path in debian/control

A.


I've packaged around 20 dependencies so far. I have yet to submit
them (primarily because I find doing this sort of work sucks the
energy out of me). I did not quite realize what I was getting myself
into :)

My TODO list follows. Packages with a # are done, those with a !
have an error, and I forget what - means.

loki
#github.com/Workiva/go-datastructures
#github.com/joncrlsn/dque
#github.com/c2h5oh/datasize
#github.com/shurcooL/vfsgen
 github.com/prometheus/prometheus
 github.com/cortexproject/cortex
!github.com/docker/go-plugins-helpers
#inet.af/netaddr
 github.com/thanos-io/thanos
#github.com/drone/envsubst
 gopkg.in/fsnotify.v1
#github.com/sony/gobreaker
#github.com/uber/jaeger-client-go
#github.com/aws/aws-lambda-go
#github.com/fluent/fluent-bit-go
#github.com/fsouza/fake-gcs-server
#github.com/grafana/dskit
#github.com/weaveworks/common

cortex
#github.com/weaveworks/common
 github.com/golang-migrate/migrate
 github.com/thanos-io/thanos
 github.com/prometheus/prometheus
 github.com/Masterminds/squirrel
#github.com/uber/jaeger-client-go
#github.com/sony/gobreaker
 github.com/grafana/dskit
 github.com/fsouza/fake-gcs-server

netaddr
#go4.org/intern

intern
#go4.org/unsafe/assume-no-moving-gc

thanos
 github.com/lovoo/gcloud-opentracing
 github.com/fatih/structtag
 github.com/lightstep/lightstep-tracer-go
 github.com/cortexproject/cortex
#github.com/weaveworks/common
 github.com/efficientgo/e2e
 github.com/chromedp/chromedp
 go.elastic.co/apm
 github.com/chromedp/cdproto
 github.com/grafana/dskit
 gopkg.in/fsnotify.v1
#github.com/uber/jaeger-lib
 github.com/efficientgo/tools
 github.com/prometheus/prometheus
 github.com/baidubce/bce-sdk-go
 github.com/tencentyun/cos-go-sdk-v5
#github.com/uber/jaeger-client-go

jaeger
#github.com/uber/jaeger-lib

dskit
^go.etcd.io/etcd
#github.com/weaveworks/common

weaveworks
#github.com/sercand/kuberesolver
#github.com/felixge/httpsnoop
#github.com/weaveworks/promrus
#github.com/uber/jaeger-client-go
#github.com/uber/jaeger-lib

go-kit
#github.com/VividCortex/gohistogram
#github.com/aws/aws-sdk-go
#github.com/influxdata/influxdb
#github.com/performancecopilot/speed
#github.com/prometheus/client_golang

migrate
 modernc.org/sqlite
 modernc.org/ql
 github.com/neo4j/neo4j-go-driver
 github.com/nakagami/firebirdsql
 github.com/jackc/pgconn
 github.com/markbates/pkger
 github.com/snowflakedb/gosnowflake
 github.com/ktrysmt/go-bitbucket
 github.com/dhui/dktest
 github.com/mutecomm/go-sqlcipher
 github.com/fsouza/fake-gcs-server
 github.com/ClickHouse/clickhouse-go
 github.com/gobuffalo/here
 github.com/jackc/pgerrcode

squirrel:
 github.com/lann/builder

etcd:
 github.com/form3tech-oss/jwt-go
#github.com/grpc-ecosystem/go-grpc-middleware/logging/settable
 go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc
#go.opentelemetry.io/otel
-gopkg.in/natefinch/lumberjack.v2
 github.com/cockroachdb/datadriven
 github.com/etcd-io/gofail/runtime

I can make an effort to submit the ones I have packaged, but I haven't
worked on this for a bit (as other projects took priority)

--Sean


Reply to: