Splunk Search

Getting the number of parallel intervals in timechart from start and end event

shacharz
Explorer

I have an event for a user that joins the system and an even for a user that leaves that system.
I want to create a timechart that will show how many users I had in my system along a time window.
This is for example how I timechart the join events:
sourcetype="tracker logs" join = join | timechart dc(peerId)
and similiarly for leave: sourcetype="tracker logs" join = leave | timechart dc(peerId)
But how do I substract those who leave from those who joined?

Tags (3)
0 Karma

somesoni2
Revered Legend

Try something like this

sourcetype="tracker logs" join="join" OR join="leave" | eval users=if(join="join",1,-1) | accum users| timechart max(users) 

shacharz
Explorer

Looks like this works:
sourcetype="tracker logs" join=join OR join=leave | eval users=if(match(join,"join"),1,-1) | accum users| timechart max(users)

0 Karma

shacharz
Explorer

Getting closer, I fixed your statement to:
sourcetype="tracker logs" join=join OR join=leave | eval users=if(join=="join",1,-1) | accum users| timechart max(users)

but looks like it doesn't match the join field to the value join
the values that the join field gets are either "join":true or "leave":true

0 Karma
Get Updates on the Splunk Community!

[Puzzles] Solve, Learn, Repeat: Dynamic formatting from XML events

This challenge was first posted on Slack #puzzles channelFor a previous puzzle, I needed a set of fixed-length ...

Enter the Agentic Era with Splunk AI Assistant for SPL 1.4

  🚀 Your data just got a serious AI upgrade — are you ready? Say hello to the Agentic Era with the ...

Stronger Security with Federated Search for S3, GCP SQL & Australian Threat ...

Splunk Lantern is a Splunk customer success center that provides advice from Splunk experts on valuable data ...