Splunk Search

How to calculate age of event?

ednk
Explorer

Hi 

I have for each event the open_time and update_time,

I want to calculate the age of the event,

like: 

open_time               update_time           age

2022-03-26            2022-04-26            1m

2022-04-22            2022-04-26             4d

 

any idea ?

thanks

Labels (2)
Tags (2)
0 Karma

kamlesh_vaghela
SplunkTrust
SplunkTrust

@ednk 

You can use tostring function to get age sorta from days. 

Can you please try this?

| makeresults | eval _raw="open_time               update_time           age
2022-02-26            2022-04-26            1m
2022-04-22            2022-04-26             4d" 
| multikv forceheader=1
|table open_time update_time 
| rename comment as "Upto now is for sample data only" 
| eval open_time = strptime(open_time, "%Y-%m-%d") 
| eval update_time = strptime(update_time, "%Y-%m-%d") 
| eval field_in_secs= update_time - open_time
| eval string_dur=tostring(field_in_secs, "duration")
| eval formatted_dur = replace(string_dur,"(?:(\d+)\+)?0?(\d+):0?(\d+):0?(\d+)","\1d \2h \3m \4s")
| eval Age=replace(formatted_dur, "^d (0h (0m )?)?","")

 

 Thanks
KV


If any of my reply helps you to solve the problem Or gain knowledge, an upvote would be appreciated.

0 Karma

ednk
Explorer

@kamlesh_vaghela 

thank you, 

this is what I got.

how can I remove the seconds and milliseconds?

open_time update_time Age field_in_secs formatted_dur string_dur

1645826400.0000001650920400.00000058d 23h 0m 0s.0000005094000.00000058d 23h 0m 0s.00000058+23:00:00.000000
1650574800.0000001650920400.0000004d 0h 0m 0s.000000345600.0000004d 0h 0m 0s.0000004+00:00:00.000000
Tags (1)
0 Karma

kamlesh_vaghela
SplunkTrust
SplunkTrust

@ednk 

Please try this.

| makeresults | eval _raw="open_time               update_time           age
2022-02-26            2022-04-26            1m
2022-04-22            2022-04-26             4d" 
| multikv forceheader=1
|table open_time update_time 
| rename comment as "Upto now is for sample data only" 
| eval open_time = round(strptime(open_time, "%Y-%m-%d"))
| eval update_time = round(strptime(update_time, "%Y-%m-%d"))
| eval field_in_secs= update_time - open_time
| eval string_dur=tostring(field_in_secs, "duration")
| eval formatted_dur = replace(string_dur,"(?:(\d+)\+)?0?(\d+):0?(\d+):0?(\d+)","\1d \2h \3m \4s")
| eval Age=replace(formatted_dur, "^d (0h (0m )?)?","")

 

KV

0 Karma
Get Updates on the Splunk Community!

Community Content Calendar, November Edition

Welcome to the November edition of our Community Spotlight! Each month, we dive into the Splunk Community to ...

October Community Champions: A Shoutout to Our Contributors!

As October comes to a close, we want to take a moment to celebrate the people who make the Splunk Community ...

Stay Connected: Your Guide to November Tech Talks, Office Hours, and Webinars!

What are Community Office Hours? Community Office Hours is an interactive 60-minute Zoom series where ...