# Tracking uptime and downtime

**URL:** <https://forum.inductiveautomation.com/t/tracking-uptime-and-downtime/10041>\
**Category:** General Discussion\
**Created:** [May 20, 2015, 5:37pm UTC](https://forum.inductiveautomation.com/t/tracking-uptime-and-downtime/10041 "2015-05-20T17:37:52Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![jshaffer09](https://avatars.discourse-cdn.com/v4/letter/j/df788c/32.png) [@jshaffer09](https://forum.inductiveautomation.com/u/jshaffer09)\
**Post date:** [May 20, 2015, 5:37pm UTC](https://forum.inductiveautomation.com/t/tracking-uptime-and-downtime/10041/1 "2015-05-20T17:37:52Z")

</div>

![:scratch:](https://us1.discourse-cdn.com/inductiveautomation/original/1X/76d1620bec252bfac07050c889ff5a91dc8a9c25.gif ":scratch:") What is the best way to track up time and downtime in ignition?

---

<div class="post-metadata">

**Author:** ![JordanCClark](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/jordancclark/32/83362_2.png) [@JordanCClark](https://forum.inductiveautomation.com/u/JordanCClark)\
**Post date:** [May 20, 2015, 6:48pm UTC](https://forum.inductiveautomation.com/t/tracking-uptime-and-downtime/10041/2 "2015-05-20T18:48:01Z")

</div>

I can think of three different ways to start. One does not necessarily constitute “better” than any other:

1. log status every x number of seconds, count the number of entries (easy to implement, but requires more space in the table.

2. log status on every change, derive times between entries (less space required in the table, but more complex queries may be required).

3. Use a transaction group with an Hour Meter (Way easy to set up, but only give totals. No trending of the data)

---

<div class="post-metadata">

**Author:** ![BradA](https://avatars.discourse-cdn.com/v4/letter/b/9dc877/32.png) [@BradA](https://forum.inductiveautomation.com/u/BradA)\
**Post date:** [May 19, 2020, 2:24pm UTC](https://forum.inductiveautomation.com/t/tracking-uptime-and-downtime/10041/3 "2020-05-19T14:24:42Z")

</div>

Hey @JordanCClark, I’m using number 2. Could you elaborate how to derive times between entries? I’m currently using the historical data on a table with the aggregation mode “Duration On”. It gives a time in seconds, but I’d love to have a cleaner way to display the time between tag value changes.

---

<div class="post-metadata">

**Author:** ![jshaffer09](https://avatars.discourse-cdn.com/v4/letter/j/df788c/32.png) [@jshaffer09](https://forum.inductiveautomation.com/u/jshaffer09)\
**Post date:** [May 20, 2020, 11:19am UTC](https://forum.inductiveautomation.com/t/tracking-uptime-and-downtime/10041/4 "2020-05-20T11:19:33Z")

</div>

You can also do a project timer script to count down time. For my application that is what I ended up using. I used the timer script to write to a tag.

---

<div class="post-metadata">

**Author:** ![JordanCClark](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/jordancclark/32/83362_2.png) [@JordanCClark](https://forum.inductiveautomation.com/u/JordanCClark)\
**Post date:** [May 20, 2020, 3:59pm UTC](https://forum.inductiveautomation.com/t/tracking-uptime-and-downtime/10041/5 "2020-05-20T15:59:38Z")

</div>

When I wrote this, I was thinking transaction groups for all three. That said, if you can query your data in a up/down status and a time stamp, you’re almost there.
