diff --git a/cmd/extractor/extractor.go b/cmd/extractor/extractor.go index 7597325..c7b519c 100644 --- a/cmd/extractor/extractor.go +++ b/cmd/extractor/extractor.go @@ -10,10 +10,10 @@ import ( "github.com/egor3f/rssalchemy/internal/extractors/pwextractor" "github.com/egor3f/rssalchemy/internal/limiter/dummy" "github.com/egor3f/rssalchemy/internal/models" + "github.com/felixge/fgtrace" "github.com/labstack/gommon/log" "io" "os" - "runtime/pprof" "time" ) @@ -27,15 +27,8 @@ func main() { flag.Parse() if *useProfiler { - profFile, err := os.Create("cpu.prof") - if err != nil { - log.Fatalf("Profile create file: %v", err) - } - defer profFile.Close() - if err := pprof.StartCPUProfile(profFile); err != nil { - log.Fatalf("Start CPU profile: %v", err) - } - defer pprof.StopCPUProfile() + //goland:noinspection GoUnhandledErrorResult + defer fgtrace.Config{Dst: fgtrace.File("fgtrace.json")}.Trace().Stop() } taskFileName := "task.json" diff --git a/go.mod b/go.mod index 4d0949e..8057277 100644 --- a/go.mod +++ b/go.mod @@ -4,6 +4,7 @@ go 1.23 require ( github.com/ericchiang/css v1.4.0 + github.com/felixge/fgtrace v0.2.0 github.com/go-playground/validator/v10 v10.23.0 github.com/go-redsync/redsync/v4 v4.8.1 github.com/gorilla/feeds v1.2.0 @@ -24,6 +25,7 @@ require ( require ( github.com/BurntSushi/toml v1.2.1 // indirect + github.com/DataDog/gostackparse v0.6.0 // indirect github.com/alessandro-c/gomemcached-lock v1.0.0 // indirect github.com/armon/go-metrics v0.4.1 // indirect github.com/aws/aws-sdk-go-v2 v1.32.5 // indirect diff --git a/go.sum b/go.sum index b9fae53..05965b0 100644 --- a/go.sum +++ b/go.sum @@ -1,6 +1,8 @@ github.com/BurntSushi/toml v1.2.1 h1:9F2/+DoOYIOksmaJFPw1tGFy1eDnIJXg+UHjuD8lTak= github.com/BurntSushi/toml v1.2.1/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ= github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ= +github.com/DataDog/gostackparse v0.6.0 h1:egCGQviIabPwsyoWpGvIBGrEnNWez35aEO7OJ1vBI4o= +github.com/DataDog/gostackparse v0.6.0/go.mod h1:lTfqcJKqS9KnXQGnyQMCugq3u1FP6UZMfWR0aitKFMM= github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= @@ -93,6 +95,8 @@ github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYF github.com/fatih/color v1.16.0 h1:zmkK9Ngbjj+K0yRhTVONQh1p/HknKYSlNT+vZCzyokM= github.com/fatih/color v1.16.0/go.mod h1:fL2Sau1YI5c0pdGEVCbKQbLXB6edEj1ZgiY4NijnWvE= github.com/fatih/structtag v1.2.0/go.mod h1:mBJUNpUnHmRKrKlQQlmCrh5PuhftFbNv8Ys4/aAZl94= +github.com/felixge/fgtrace v0.2.0 h1:lq7RO6ELjR+S74+eD+ai/vhYvsjno7Vb84yzU6RPSeU= +github.com/felixge/fgtrace v0.2.0/go.mod h1:q9vMuItthu3CRfNhirTCTwzBcJ8atUFkrJUhgQbjg8c= github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= github.com/gabriel-vasile/mimetype v1.4.3 h1:in2uUcidCuFcDKtdcBxlR0rJ1+fsokWf+uqxgUFjbI0=