Popularity
7.2
Stable
Activity
5.4
Growing
10
7
5
Monthly Downloads: 32
Programming language: Haskell
License: Apache License 2.0
Tags:
Tools
Latest version: v0.10.3
lightstep-haskell alternatives and similar packages
Based on the "Tools" category.
Alternatively, view lightstep-haskell alternatives based on common mentions on social networks and blogs.
-
cabal-db
Various cabal query commands wrapped in a simple CLI tool -
fswatcher
A simple file/directory watcher for Linux and macOS and other BSDs -
technique
Check, simulate, and run procedures written in the Technique programming language -
fswait
Wait and observe events on the filesystem for a path, with a timeout -
hsmodetweaks
Tool for generating .dir-locals.el for intero -
newt
A simple text template instantiation tool. Newt creates boilerplate. -
binsm
binary files splitter and merger, makes working with offsets in your shell less painful -
posplyu
Sleep tracker for X11, using XScreenSaver extension and manual input. -
Monadoro
A minimalistic CLI Pomodoro timer, based on a library of the same purpose.
Build time-series-based applications quickly and at scale.
InfluxDB is the Time Series Platform where developers build real-time applications for analytics, IoT and cloud-native services. Easy to start, it is available in the cloud or on-premises.
Promo
www.influxdata.com
Do you think we are missing an alternative of lightstep-haskell or a related project?
README
What is it?
A library for instrumenting your code and sending traces to LightStep.
How to use it?
Example usage:
{-# LANGUAGE OverloadedStrings #-}
import Control.Concurrent
import Control.Concurrent.Async
import LightStep.HighLevel.IO (LogEntryKey (..), addLog, currentSpanContext, getEnvConfig, setParentSpanContext, setTag, withSingletonLightStep, withSpan)
seriousBusinessMain :: IO ()
seriousBusinessMain = concurrently_ frontend backend >> threadDelay 1000000
where
frontend =
withSpan "RESTful API" $ do
threadDelay 10000
setTag "foo" "bar"
withSpan "Kafka" $ do
threadDelay 20000
setTag "foo" "baz"
threadDelay 30000
withSpan "GraphQL" $ do
threadDelay 40000
setTag "foo" "quux"
addLog Event "monkey-job"
addLog (Custom "foo") "bar"
withSpan "Mongodb" $ do
threadDelay 50000
setTag "lorem" "ipsum"
threadDelay 60000
withSpan "data->json" $ pure ()
withSpan "json->yaml" $ pure ()
withSpan "yaml->xml" $ pure ()
withSpan "xml->protobuf" $ pure ()
withSpan "protobuf->thrift" $ pure ()
withSpan "thrift->base64" $ pure ()
threadDelay 70000
backend =
withSpan "Background Data Science" $ do
threadDelay 10000
withSpan "Tensorflow" $ do
threadDelay 100000
setTag "learning" "deep"
withSpan "Torch" $ do
threadDelay 100000
setTag "learning" "very_deep"
withSpan "Hadoop" $ do
threadDelay 100000
setTag "learning" "super_deep"
withSpan "Parallel map reduce" $ do
result <- withSpan "Reduce" $ do
Just ctx <- currentSpanContext
(a, b) <- do
threadDelay 100000
concurrently
( withSpan "Calculate a" $ do
setParentSpanContext ctx
threadDelay 100000
return "Lorem "
)
( withSpan "Calculate b" $ do
setParentSpanContext ctx
threadDelay 100000
return "ipsum"
)
threadDelay 100000
pure (a <> b)
setTag "result" result
main :: IO ()
main = do
-- Construct a config from env variables
-- - LIGHTSTEP_ACCESS_TOKEN
-- - LIGHTSTEP_HOST (optional)
-- - LIGHTSTEP_PORT (optional)
-- - LIGHTSTEP_SERVICE (optional)
Just lsConfig <- getEnvConfig
withSingletonLightStep lsConfig seriousBusinessMain
putStrLn "All done"