feature/logtail: pull logtail + netlog out to modular features

Removes 434 KB from the minimal Linux binary, or ~3%.

Primarily this comes from not linking in the zstd encoding code.

Fixes #17323

Change-Id: I0a90de307dfa1ad7422db7aa8b1b46c782bfaaf7
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
This commit is contained in:
Brad Fitzpatrick
2025-09-28 10:57:22 -07:00
committed by Brad Fitzpatrick
parent e466488a2a
commit 11b770fbc9
19 changed files with 240 additions and 77 deletions
+44
View File
@@ -0,0 +1,44 @@
// Copyright (c) Tailscale Inc & AUTHORS
// SPDX-License-Identifier: BSD-3-Clause
//go:build ts_omit_logtail
package logtail
import (
"context"
tslogger "tailscale.com/types/logger"
"tailscale.com/types/logid"
)
// Noop implementations of everything when ts_omit_logtail is set.
type Logger struct{}
type Buffer any
func Disable() {}
func NewLogger(cfg Config, logf tslogger.Logf) *Logger {
return &Logger{}
}
func (*Logger) Write(p []byte) (n int, err error) {
return len(p), nil
}
func (*Logger) Logf(format string, args ...any) {}
func (*Logger) Shutdown(ctx context.Context) error { return nil }
func (*Logger) SetVerbosityLevel(level int) {}
func (l *Logger) SetSockstatsLabel(label any) {}
func (l *Logger) PrivateID() logid.PrivateID { return logid.PrivateID{} }
func (l *Logger) StartFlush() {}
func RegisterLogTap(dst chan<- string) (unregister func()) {
return func() {}
}
func (*Logger) SetNetMon(any) {}