Skip to content

Commit c12cf82

Browse files
committed
The following:
— Bump ekg-forward. — Read the timeseries query string from request body rather than request query param.
1 parent 40c1d48 commit c12cf82

5 files changed

Lines changed: 19 additions & 21 deletions

File tree

cabal.project

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ if impl (ghc >= 9.12)
8181
source-repository-package
8282
type: git
8383
location: https://github.com/input-output-hk/ekg-forward.git
84-
tag: d06caa8f53d945b9d252c9c7a719983767926140
85-
--sha256: sha256-sQj2B5a9OwgLAIVoyGxSFww7aJ81Vf0DVUkYJepA4yo=
84+
tag: c72c9a29045431df7484b665bed33c12ea71d0ac
85+
--sha256: sha256-b87qt8RMI4gNPF8QTrRjfS5KK2/JhbxUp5ijscn2Vf8=
8686
subdir:
8787
.

cardano-tracer/cardano-tracer.cabal

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -122,8 +122,8 @@ library
122122

123123
Cardano.Tracer.Handlers.Metrics.Monitoring
124124
Cardano.Tracer.Handlers.Metrics.Prometheus
125-
Cardano.Tracer.Handlers.Metrics.TimeseriesServer
126125
Cardano.Tracer.Handlers.Metrics.Servers
126+
Cardano.Tracer.Handlers.Metrics.TimeseriesServer
127127
Cardano.Tracer.Handlers.Metrics.Utils
128128

129129
Cardano.Tracer.Handlers.Notifications.Check

cardano-tracer/src/Cardano/Tracer/Acceptors/Client.hs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ import Data.Word (Word32)
4343
import qualified Network.Mux as Mux
4444
import qualified Network.Socket as Socket
4545
import qualified System.Metrics.Configuration as EKGF
46-
import System.Metrics.Network.Acceptor (acceptEKGMetricsInit)
46+
import System.Metrics.Network.Acceptor (acceptMetricsInit)
4747

4848
import qualified Trace.Forward.Configuration.DataPoint as DPF
4949
import qualified Trace.Forward.Configuration.TraceObject as TF
@@ -194,7 +194,7 @@ runEKGAcceptorInit
194194
respoinderCtx
195195
LBS.ByteString IO () Void
196196
runEKGAcceptorInit tracerEnv ekgConfig errorHandler =
197-
acceptEKGMetricsInit
197+
acceptMetricsInit
198198
ekgConfig
199199
(prepareMetricsStores tracerEnv . micConnectionId)
200200
(store tracerEnv . connIdToNodeId . micConnectionId)

cardano-tracer/src/Cardano/Tracer/Acceptors/Server.hs

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,6 @@ module Cardano.Tracer.Acceptors.Server
55
( runAcceptorsServer
66
) where
77

8-
import "contra-tracer" Control.Tracer (nullTracer)
9-
108
import Cardano.Logging (TraceObject)
119
import qualified Cardano.Logging.Types as Net
1210
import Cardano.Tracer.Acceptors.Utils
@@ -25,25 +23,25 @@ import Ouroboros.Network.Mux (MiniProtocol (..), MiniProtocolLimits (.
2523
miniProtocolNum, miniProtocolRun)
2624
import Ouroboros.Network.Protocol.Handshake (Handshake, HandshakeArguments (..))
2725
import qualified Ouroboros.Network.Protocol.Handshake as Handshake
26+
import qualified Ouroboros.Network.Server.Simple as Server
2827
import Ouroboros.Network.Snocket (LocalAddress, LocalSocket, Snocket,
2928
localAddressFromPath, localSnocket, makeLocalBearer, makeSocketBearer,
3029
socketSnocket)
31-
import Ouroboros.Network.Socket (ConnectionId (..),
32-
SomeResponderApplication (..))
33-
import qualified Ouroboros.Network.Server.Simple as Server
30+
import Ouroboros.Network.Socket (ConnectionId (..), SomeResponderApplication (..))
3431

3532
import Codec.CBOR.Term (Term)
3633
import Control.Concurrent.Async (wait)
34+
import "contra-tracer" Control.Tracer (nullTracer)
3735
import qualified Data.ByteString.Lazy as LBS
36+
import Data.Functor (void)
3837
import Data.List.NonEmpty (NonEmpty ((:|)))
3938
import qualified Data.Text as Text
40-
import Data.Functor (void)
4139
import Data.Void (Void)
4240
import Data.Word (Word32)
4341
import qualified Network.Mux as Mux
4442
import qualified Network.Socket as Socket
4543
import qualified System.Metrics.Configuration as EKGF
46-
import System.Metrics.Network.Acceptor (acceptEKGMetricsResp)
44+
import System.Metrics.Network.Acceptor (acceptMetricsResp)
4745

4846
import qualified Trace.Forward.Configuration.DataPoint as DPF
4947
import qualified Trace.Forward.Configuration.TraceObject as TF
@@ -180,7 +178,7 @@ runEKGAcceptor
180178
-> (ConnectionId addr -> IO ())
181179
-> RunMiniProtocol 'Mux.ResponderMode initiatorCtx (ResponderContext addr) LBS.ByteString IO Void ()
182180
runEKGAcceptor tracerEnv ekgConfig errorHandler =
183-
acceptEKGMetricsResp
181+
acceptMetricsResp
184182
ekgConfig
185183
(prepareMetricsStores tracerEnv . rcConnectionId)
186184
(store tracerEnv . connIdToNodeId . rcConnectionId)

cardano-tracer/src/Cardano/Tracer/Handlers/Metrics/TimeseriesServer.hs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
{-# LANGUAGE LambdaCase #-}
2-
{-# LANGUAGE NamedFieldPuns #-}
32
{-# LANGUAGE OverloadedRecordDot #-}
43
{-# LANGUAGE OverloadedStrings #-}
54
{-# LANGUAGE RecordWildCards #-}
@@ -18,24 +17,24 @@ import Cardano.Tracer.Timeseries
1817
import Control.Monad (guard)
1918
import qualified Data.ByteString.Lazy as BL
2019
import Data.Maybe (fromMaybe)
21-
import Data.Text (Text)
20+
import Data.Text.Encoding (decodeUtf8Lenient)
2221
import qualified Data.Text.Encoding as T
2322
import Network.HTTP.Types
2423
import Network.Wai
2524
import Network.Wai.Handler.Warp hiding (run)
2625
import Network.Wai.Handler.WarpTLS
2726
import System.Time.Extra (sleep)
2827

29-
parseTimeseriesQuery :: Request -> Maybe Text
28+
-- | GET timeseries/query
29+
parseTimeseriesQuery :: Request -> Maybe ()
3030
parseTimeseriesQuery request = do
3131
guard (request.pathInfo == ["timeseries", "query"])
32-
case queryToQueryText request.queryString of
33-
[("query", Just str)] -> pure str
34-
_ -> Nothing
32+
guard (request.requestMethod == methodPost)
3533

36-
-- | timeseries/query?query=...
3734
timeseriesApp :: TimeseriesHandle -> Application
38-
timeseriesApp handle (parseTimeseriesQuery -> Just query) send = do
35+
timeseriesApp handle request@(parseTimeseriesQuery -> Just ()) send = do
36+
bs <- consumeRequestBodyStrict request
37+
let query = decodeUtf8Lenient (BL.toStrict bs)
3938
now <- getTimeMs
4039
execute handle (fromIntegral now) query >>= \case
4140
Left err -> send $
@@ -58,6 +57,7 @@ runTimeseriesServer tr tracerConfig endpoint handle = do
5857
{ ttTimeseriesEndpoint = endpoint
5958
}
6059

60+
6161
let
6262
settings :: Settings
6363
settings = setEndpoint endpoint defaultSettings

0 commit comments

Comments
 (0)