Initial commit, pt. 66

This commit is contained in:
Dmitrii Okunev
2024-08-04 15:19:50 +01:00
parent d828ed38c2
commit 40adda392b
5 changed files with 36 additions and 10 deletions

5
go.mod
View File

@@ -10,13 +10,13 @@ replace github.com/goccy/go-yaml v1.11.3 => github.com/yoelsusanto/go-yaml v0.0.
replace github.com/yutopp/go-rtmp v0.0.7 => ../go-rtmp/
require (
github.com/facebookincubator/go-belt v0.0.0-20240706172357-c5875adb39ef
github.com/facebookincubator/go-belt v0.0.0-20240707112111-9cf347bf49e2
github.com/go-git/go-billy/v5 v5.5.0
github.com/goccy/go-yaml v1.11.3
github.com/hashicorp/go-multierror v1.1.1
github.com/nicklaw5/helix/v2 v2.26.0
github.com/spf13/cobra v1.8.0
github.com/xaionaro-go/logrustash v0.0.0-20240803221212-52f205f3f1f2
github.com/xaionaro-go/logrustash v0.0.0-20240804141650-d48034780a5f
golang.org/x/oauth2 v0.17.0
google.golang.org/api v0.169.0
)
@@ -181,7 +181,6 @@ require (
github.com/vishvananda/netlink v1.1.1-0.20211118161826-650dca95af54 // indirect
github.com/vishvananda/netns v0.0.4 // indirect
github.com/whyrusleeping/go-keyspace v0.0.0-20160322163242-5b898ac5add1 // indirect
github.com/xaionaro-go/goautosocket v0.0.0-20240803221104-cef7f165571a // indirect
github.com/xanzy/ssh-agent v0.3.3 // indirect
github.com/yuin/goldmark v1.7.1 // indirect
github.com/yutopp/go-amf0 v0.1.0 // indirect

10
go.sum
View File

@@ -180,8 +180,8 @@ github.com/envoyproxy/go-control-plane v0.9.7/go.mod h1:cwu0lG7PUMfa9snN8LXBig5y
github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk=
github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk=
github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
github.com/facebookincubator/go-belt v0.0.0-20240706172357-c5875adb39ef h1:ZsOEnpQjCQAF4cPK0gwt/fN65sbOg1e7zbfXIX4iMQ4=
github.com/facebookincubator/go-belt v0.0.0-20240706172357-c5875adb39ef/go.mod h1:BLkOQHXT14GLgKvM22LB/fDcq1stjijrTOJQEk3xrUA=
github.com/facebookincubator/go-belt v0.0.0-20240707112111-9cf347bf49e2 h1:TjgMDyXmX5ZGuDDS98ol5CLcVtrIGHNwQtA24Z2xBrY=
github.com/facebookincubator/go-belt v0.0.0-20240707112111-9cf347bf49e2/go.mod h1:BLkOQHXT14GLgKvM22LB/fDcq1stjijrTOJQEk3xrUA=
github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4=
github.com/fatih/color v1.10.0 h1:s36xzo75JdqLaaWoiEHk767eHiwo0598uUxyfiPkDsg=
github.com/fatih/color v1.10.0/go.mod h1:ELkj/draVOlAH/xkhN6mQ50Qd0MPOk5AAr3maGEBuJM=
@@ -846,10 +846,8 @@ github.com/whyrusleeping/go-keyspace v0.0.0-20160322163242-5b898ac5add1 h1:EKhdz
github.com/whyrusleeping/go-keyspace v0.0.0-20160322163242-5b898ac5add1/go.mod h1:8UvriyWtv5Q5EOgjHaSseUEdkQfvwFv1I/In/O2M9gc=
github.com/xaionaro-go/datacounter v1.0.4 h1:+QMZLmu73R5WGkQfUPwlXF/JFN+Weo4iuDZkiL2wVm8=
github.com/xaionaro-go/datacounter v1.0.4/go.mod h1:Sf9vBevuV6w5iE6K3qJ9pWVKcyS60clWBUSQLjt5++c=
github.com/xaionaro-go/goautosocket v0.0.0-20240803221104-cef7f165571a h1:nnSVcn4e9TkQ5GuN/MoeET18gSYudJJMtlKXFRHvVjQ=
github.com/xaionaro-go/goautosocket v0.0.0-20240803221104-cef7f165571a/go.mod h1:7X2d4ohzI2SqqM/dNgIlBx3hUl6dB6clspwt+9c9IqA=
github.com/xaionaro-go/logrustash v0.0.0-20240803221212-52f205f3f1f2 h1:J6HNJRYV42vTeH3UM4Z9kQU1zwxsyTjoaSF5YgUklZ0=
github.com/xaionaro-go/logrustash v0.0.0-20240803221212-52f205f3f1f2/go.mod h1:5CziRurpvKGPZSyV7roFe47V0cj8ireI+n9TiN/ygZ0=
github.com/xaionaro-go/logrustash v0.0.0-20240804141650-d48034780a5f h1:mMrVrYtH9MyCUzBwPvuEntvqdCJ0zifCfqV6bHU6z1M=
github.com/xaionaro-go/logrustash v0.0.0-20240804141650-d48034780a5f/go.mod h1:aszOZHoPPSgKwdbJUgonps3MSODqctkNhwQDDwlw0Eg=
github.com/xaionaro-go/unsafetools v0.0.0-20210722164218-75ba48cf7b3c h1:WeiZrQbFImtlpYCHdxWpjm033Zm0n1ihx3bD/9b6rYI=
github.com/xaionaro-go/unsafetools v0.0.0-20210722164218-75ba48cf7b3c/go.mod h1:fnHPnf0CsRZNVxlSs0ZdUiYW49mLF5QFycfmoT+LuO4=
github.com/xanzy/ssh-agent v0.3.3 h1:+/15pJfg/RsTxqYcX6fHqOXZwwMP+2VyYWJeWM2qQFM=

12
pkg/observability/go.go Normal file
View File

@@ -0,0 +1,12 @@
package observability
import (
"context"
)
func Go(ctx context.Context, fn func()) {
go func() {
defer func() { PanicIfNotNil(ctx, recover()) }()
fn()
}()
}

View File

@@ -20,7 +20,7 @@ func CtxWithLogstash(
return ctx
}
hook, err := logrustash.NewAsyncHook(addr.Scheme, addr.Host, appName)
hook, err := logrustash.NewHook(addr.Scheme, addr.Host, appName)
if err != nil {
logger.Errorf(ctx, "unable to initialize the hook: %w", err)
return ctx

View File

@@ -0,0 +1,17 @@
package observability
import (
"context"
"github.com/facebookincubator/go-belt"
"github.com/facebookincubator/go-belt/tool/experimental/errmon"
)
func PanicIfNotNil(ctx context.Context, r any) {
if r == nil {
return
}
errmon.ObserveRecoverCtx(ctx, r)
belt.Flush(ctx)
panic(r)
}