From ec070b74cd8bfcf10c27c637ab8ea371b72c8582 Mon Sep 17 00:00:00 2001 From: Aphral Griffin Date: Thu, 20 Feb 2025 15:54:45 +0000 Subject: [PATCH] use client timeout --- .../internal/scraper/stubstatus/stub_status_scraper.go | 2 ++ internal/collector/nginxplusreceiver/scraper.go | 2 ++ internal/watcher/instance/nginx_config_parser.go | 8 ++++---- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/internal/collector/nginxossreceiver/internal/scraper/stubstatus/stub_status_scraper.go b/internal/collector/nginxossreceiver/internal/scraper/stubstatus/stub_status_scraper.go index 38779570b..a46caac53 100644 --- a/internal/collector/nginxossreceiver/internal/scraper/stubstatus/stub_status_scraper.go +++ b/internal/collector/nginxossreceiver/internal/scraper/stubstatus/stub_status_scraper.go @@ -59,6 +59,8 @@ func (s *NginxStubStatusScraper) ID() component.ID { func (s *NginxStubStatusScraper) Start(_ context.Context, _ component.Host) error { httpClient := http.DefaultClient + httpClient.Timeout = s.cfg.ClientConfig.Timeout + if strings.HasPrefix(s.cfg.APIDetails.Listen, "unix:") { httpClient.Transport = &http.Transport{ DialContext: func(_ context.Context, _, _ string) (net.Conn, error) { diff --git a/internal/collector/nginxplusreceiver/scraper.go b/internal/collector/nginxplusreceiver/scraper.go index 4911f49b5..2a42a14ec 100644 --- a/internal/collector/nginxplusreceiver/scraper.go +++ b/internal/collector/nginxplusreceiver/scraper.go @@ -49,7 +49,9 @@ func newNginxPlusScraper( endpoint := strings.TrimPrefix(cfg.APIDetails.URL, "unix:") logger := settings.Logger logger.Info("Creating NGINX Plus scraper") + httpClient := http.DefaultClient + httpClient.Timeout = cfg.ClientConfig.Timeout mb := metadata.NewMetricsBuilder(cfg.MetricsBuilderConfig, settings) rb := mb.NewResourceBuilder() diff --git a/internal/watcher/instance/nginx_config_parser.go b/internal/watcher/instance/nginx_config_parser.go index 26e698ed6..da86d3578 100644 --- a/internal/watcher/instance/nginx_config_parser.go +++ b/internal/watcher/instance/nginx_config_parser.go @@ -479,14 +479,14 @@ func (ncp *NginxConfigParser) apiCallback(ctx context.Context, parent, func (ncp *NginxConfigParser) pingAPIEndpoint(ctx context.Context, statusAPIDetail *model.APIDetails, apiType string, ) bool { - httpClient := http.Client{} + httpClient := http.DefaultClient listen := statusAPIDetail.Listen statusAPI := statusAPIDetail.URL if strings.HasPrefix(listen, "unix:") { httpClient = ncp.SocketClient(strings.TrimPrefix(listen, "unix:")) } else { - httpClient = http.Client{Timeout: ncp.agentConfig.Client.Grpc.KeepAlive.Timeout} + httpClient.Timeout = ncp.agentConfig.Client.HTTP.Timeout } req, err := http.NewRequestWithContext(ctx, http.MethodGet, statusAPI, nil) if err != nil { @@ -676,8 +676,8 @@ func (ncp *NginxConfigParser) isPort(value string) bool { return err == nil && port >= 1 && port <= 65535 } -func (ncp *NginxConfigParser) SocketClient(socketPath string) http.Client { - return http.Client{ +func (ncp *NginxConfigParser) SocketClient(socketPath string) *http.Client { + return &http.Client{ Timeout: ncp.agentConfig.Client.Grpc.KeepAlive.Timeout, Transport: &http.Transport{ DialContext: func(_ context.Context, _, _ string) (net.Conn, error) {