# Calculate delta time

**URL:** https://discuss.elastic.co/t/calculate-delta-time/51668
**Category:** Logstash
**Created:** [June 2, 2016, 10:52am UTC](https://discuss.elastic.co/t/calculate-delta-time/51668 "2016-06-02T10:52:27Z")
**Posts on this page:** 2
**Page:** 1

<div class="post-metadata">

### Author: ![linhntt41](https://avatars.discourse-cdn.com/v4/letter/l/94ad74/32.png) [@linhntt41](https://discuss.elastic.co/u/linhntt41)
#### Post date: [June 2, 2016, 10:52am UTC](https://discuss.elastic.co/t/calculate-delta-time/51668/1 "2016-06-02T10:52:27Z")

</div>

Hi!  
I want to calculate delta 2 events, use ruby to calculate delta time  
This my config:  
if [status] == "out"{  
elasticsearch {  
hosts =\> ["localhost"]  
query =\> 'status:in AND username:"%{username}"'  
fields =\> ["@timestamp","start"]  
}  
**_ruby{_**  
**_init =\> "require 'time'"_**  
**_code =\> "event['duration\_hrs'] = (event['@timestamp'] - event['start']) / 3600 rescue nil"_**  
**_add\_tag =\> ["duration\_hrs"]_**  
**_}_**  
But result duration =\> nil  
===\> "@version" =\> "1",  
"@timestamp" =\> "2016-06-01T16:06:46.816Z",  
"path" =\> "/opt/file1.log",  
"host" =\> "archlinux",  
"start" =\> "2016-06-01T16:06:23.769Z",  
"username" =\> "linh",  
"status" =\> "out",  
**_"duration\_hrs" =\> nil,_**  
**_"tags" =\> [_**  
**_[0] "duration\_hrs"_**

if I use Time.parse().to\_s or .to\_f but ruby exception

**_ruby{_**  
**_init =\> "require 'time'"_**  
**_code =\> "event['duration\_hrs'] =Time.parse (event['@timestamp']).to\_s - Time.parse(event['start']).to\_s"_**  
**_add\_tag =\> ["duration\_hrs"]_**  
**_}_**

==\>  
**_Ruby exception occurred: undefined method `gsub!' for "2016-06-01T16:04:42.483Z":LogStash::Timestamp {:level=\>:error}_**  
"@version" =\> "1",  
"@timestamp" =\> "2016-06-01T16:04:42.483Z",  
"path" =\> "/opt/file1.log",  
"host" =\> "archlinux",  
"start" =\> "2016-06-01T16:04:19.417Z",  
"username" =\> "linh",  
"status" =\> "out",  
"tags" =\> [  
[0] "\_rubyexception"  
]  
I don't understands why wrong, can you help me?  
Thanks

---

<div class="post-metadata">

### Author: ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)
#### Post date: [July 6, 2017, 4:54am UTC](https://discuss.elastic.co/t/calculate-delta-time/51668/2 "2017-07-06T04:54:47Z")

</div>


