diff --git a/lightstep-haskell.cabal b/lightstep-haskell.cabal
--- a/lightstep-haskell.cabal
+++ b/lightstep-haskell.cabal
@@ -1,7 +1,7 @@
 cabal-version: 2.4
 
 name:           lightstep-haskell
-version:        0.5.0
+version:        0.5.1
 synopsis:       LightStep OpenTracing client library
 description:    LightStep OpenTracing client library. Uses GRPC transport via proto-lens.
 category:       Tools
@@ -83,6 +83,7 @@
     , proto-lens >= 0.5.1.0
     , proto-lens-protobuf-types >= 0.5.0.0
     , proto-lens-runtime >= 0.5.0.0
+    , random
     , safe-exceptions
     , stm
     , text
diff --git a/src/LightStep/LowLevel.hs b/src/LightStep/LowLevel.hs
--- a/src/LightStep/LowLevel.hs
+++ b/src/LightStep/LowLevel.hs
@@ -24,6 +24,7 @@
 import Proto.Collector
 import Proto.Collector_Fields
 import Proto.Google.Protobuf.Timestamp_Fields
+import System.Random
 import System.Timeout
 
 data LightStepClient
@@ -123,9 +124,8 @@
 startSpan op = do
   inc 1 startedSpanCountVar
   nanosSinceEpoch <- getTime <$> now
-  -- FIXME: make those ids randomer
-  let sid = fromIntegral nanosSinceEpoch
-      tid = fromIntegral nanosSinceEpoch
+  sid <- randomIO
+  let tid = sid
   pure $
     defMessage
       & operationName .~ op
