Back Midas Rome Roody Rootana
  Midas DAQ System, Page 6 of 152  Not logged in ELOG logo
IDdown Date Author Topic Subject
  2956   18 Mar 2025 Konstantin OlchanskiBug Reportpython hist_get_recent_data returns no historical data
>
> However right after running these commands I removed a .SHM_HOST.TXT file
>

Instead of deleting .SHM_HOSTS.TXT, please create it as an empty file. I thought the documentation is clear about it?

Also we recommend installing MIDAS to $HOME/packages/midas. There is a number of problems if installed at top level.

If you want to be compliant with the Linux LFS, /opt/midas is also a good place.

> 
> ... and it suddenly worked!
>

We still did not establish if mhist, mhdump and the other commands I sent you work correctly,
to confirm MIDAS is creating correct history files. (before you try to read them with python).

Also we did not establish that you have correct paths setup in ODB /Logger/History.

Many things can go wrong.

Next time python history malfunctions, please do all those other things and report to us. Thanks!

K.O.
  2955   18 Mar 2025 Federico RezzonicoBug Reportpython hist_get_recent_data returns no historical data
> Unfortunately I again cannot reproduce this:
> 
> $ python ~/DAQ/midas_latest/python/examples/basic_hist_script.py
> Valid events are:
> * Run transitions
> * test_slow/data
> Enter event name: test_slow/data
> Valid tags for test_slow/data are:
> * data
> Enter tag name: data
> Event/tag test_slow/data/data has 1 elements
> How many hours: 1
> Interval in seconds: 1
> 78 entries found
> 2025/03/17 17:00:56 => 98.097391
> 2025/03/17 17:00:57 => 98.982151
> 2025/03/17 17:00:58 => 99.589187
> 2025/03/17 17:00:59 => 99.926821
> 2025/03/17 17:01:00 => 99.989878
> 2025/03/17 17:01:01 => 99.778216
> 2025/03/17 17:01:02 => 99.292485
> .......
> 
> 
> I want to narrow down whether the issue is in the basic_hist_script.py or the lower-level code. So there are a few steps of debugging to do.
> 
> 
> 
> 1) Run code directly in the python interpreter: 
> 
> Can you run the following and send the output please?
> 
> ```
> import midas.client
> c = midas.client.MidasClient("history_test")
> data = c.hist_get_recent_data(1,1,"test_slow/data","data")
> print(f"event_name='{data[0]['event_name']}', tag_name='{data[0]['tag_name']}', num_entries={data[0]['num_entries']}, status={data[0]['status']}, arrlen={len(data[0]['values'])}")
> ```
> 
> For me, I get:
> event_name='test_slow/data', tag_name='data', num_entries=441, status=1, arrlen=441
> 
> 
> 
> 2) If things look sensible for you (status=1, non-zero num_entries), then the problem is in the basic_hist_script.py. Can you add the same print() statement in basic_hist_script.py immediately after the call to hist_get_recent_data(), then run that script again and send the output of that?
> 
> 
> 
> 3) Debug the python/C conversions.
> 
> In midas/client.py add the following line to hist_get_data() immediately before the call to self.lib.c_hs_read():
> 
> ```
>         print(f"c_start_time={c_start_time.value}, c_end_time={c_end_time.value}, c_interval={c_interval.value}, c_event_name={c_event_name.value}, c_tag_name={c_tag_name.value}")
> ```
> 
> Then run the following and send the output:
> 
> ```
> import midas.client
> c = midas.client.MidasClient("history_test")
> data = c.hist_get_recent_data(1,1,"test_slow/data","data")
> ```
> 
> For me, I get:
> c_start_time=1742254428, c_end_time=1742258028, c_interval=1, c_event_name=b'test_slow/data', c_tag_name=b'data'
> 
> I want to check that the UNIX timestamps match what you expect for your server, and that nothing weird is going on with the python/C string conversions.
> 
> 
> Thanks,
> Ben

Hi, thank you for the support!

Running the commands on the Macbook pro leads to
1)
event_name='test_slow/data', tag_name='data', num_entries=0, status=1, arrlen=0
2)
The number of entries is zero
3)
I get
c_start_time=1742275653, c_end_time=1742279253, c_interval=1, c_event_name=b'test_slow/data', c_tag_name=b'data'

However right after running these commands I removed a .SHM_HOST.TXT file
(due to me working both at home and at PSI, my computer hostname changes when I switch the network, so I remove .SHM_HOST.TXT to be able to run experiments)

and reran the code, and it suddenly worked! This is good, but I do not know what fixed it... I had done more extensive tests yesterday and also had to delete .SHM_HOST.TXT multiple times, to no avail.
Do you have any ideas as to what could be happening? Similarly to my previous bug report, which was fixed by updating macOS to a more stable version, could this have been due to an automatic update?

If the problem still persists on the Windows machine I will post an update.
  Draft   17 Mar 2025 Federico RezzonicoBug Reportpython hist_get_recent_data returns no historical data
> Unfortunately I again cannot reproduce this:
> 
> $ python ~/DAQ/midas_latest/python/examples/basic_hist_script.py
> Valid events are:
> * Run transitions
> * test_slow/data
> Enter event name: test_slow/data
> Valid tags for test_slow/data are:
> * data
> Enter tag name: data
> Event/tag test_slow/data/data has 1 elements
> How many hours: 1
> Interval in seconds: 1
> 78 entries found
> 2025/03/17 17:00:56 => 98.097391
> 2025/03/17 17:00:57 => 98.982151
> 2025/03/17 17:00:58 => 99.589187
> 2025/03/17 17:00:59 => 99.926821
> 2025/03/17 17:01:00 => 99.989878
> 2025/03/17 17:01:01 => 99.778216
> 2025/03/17 17:01:02 => 99.292485
> .......
> 
> 
> I want to narrow down whether the issue is in the basic_hist_script.py or the lower-level code. So there are a few steps of debugging to do.
> 
> 
> 
> 1) Run code directly in the python interpreter: 
> 
> Can you run the following and send the output please?
> 
> ```
> import midas.client
> c = midas.client.MidasClient("history_test")
> data = c.hist_get_recent_data(1,1,"test_slow/data","data")
> print(f"event_name='{data[0]['event_name']}', tag_name='{data[0]['tag_name']}', num_entries={data[0]['num_entries']}, status={data[0]['status']}, arrlen={len(data[0]['values'])}")
> ```
> 
> For me, I get:
> event_name='test_slow/data', tag_name='data', num_entries=441, status=1, arrlen=441
> 
> 
> 
> 2) If things look sensible for you (status=1, non-zero num_entries), then the problem is in the basic_hist_script.py. Can you add the same print() statement in basic_hist_script.py immediately after the call to hist_get_recent_data(), then run that script again and send the output of that?
> 
> 
> 
> 3) Debug the python/C conversions.
> 
> In midas/client.py add the following line to hist_get_data() immediately before the call to self.lib.c_hs_read():
> 
> ```
>         print(f"c_start_time={c_start_time.value}, c_end_time={c_end_time.value}, c_interval={c_interval.value}, c_event_name={c_event_name.value}, c_tag_name={c_tag_name.value}")
> ```
> 
> Then run the following and send the output:
> 
> ```
> import midas.client
> c = midas.client.MidasClient("history_test")
> data = c.hist_get_recent_data(1,1,"test_slow/data","data")
> ```
> 
> For me, I get:
> c_start_time=1742254428, c_end_time=1742258028, c_interval=1, c_event_name=b'test_slow/data', c_tag_name=b'data'
> 
> I want to check that the UNIX timestamps match what you expect for your server, and that nothing weird is going on with the python/C string conversions.
> 
> 
> Thanks,
> Ben

Hi, thank you for the support!

1)
event_name='test_slow/data', tag_name='data', num_entries=0, status=1, arrlen=0
2)
The number of entries is zero
3)
I get
c_start_time=1742275653, c_end_time=1742279253, c_interval=1, c_event_name=b'test_slow/data', c_tag_name=b'data'
  2953   17 Mar 2025 Ben SmithBug Reportpython hist_get_recent_data returns no historical data
Unfortunately I again cannot reproduce this:

$ python ~/DAQ/midas_latest/python/examples/basic_hist_script.py
Valid events are:
* Run transitions
* test_slow/data
Enter event name: test_slow/data
Valid tags for test_slow/data are:
* data
Enter tag name: data
Event/tag test_slow/data/data has 1 elements
How many hours: 1
Interval in seconds: 1
78 entries found
2025/03/17 17:00:56 => 98.097391
2025/03/17 17:00:57 => 98.982151
2025/03/17 17:00:58 => 99.589187
2025/03/17 17:00:59 => 99.926821
2025/03/17 17:01:00 => 99.989878
2025/03/17 17:01:01 => 99.778216
2025/03/17 17:01:02 => 99.292485
.......


I want to narrow down whether the issue is in the basic_hist_script.py or the lower-level code. So there are a few steps of debugging to do.



1) Run code directly in the python interpreter: 

Can you run the following and send the output please?

```
import midas.client
c = midas.client.MidasClient("history_test")
data = c.hist_get_recent_data(1,1,"test_slow/data","data")
print(f"event_name='{data[0]['event_name']}', tag_name='{data[0]['tag_name']}', num_entries={data[0]['num_entries']}, status={data[0]['status']}, arrlen={len(data[0]['values'])}")
```

For me, I get:
event_name='test_slow/data', tag_name='data', num_entries=441, status=1, arrlen=441



2) If things look sensible for you (status=1, non-zero num_entries), then the problem is in the basic_hist_script.py. Can you add the same print() statement in basic_hist_script.py immediately after the call to hist_get_recent_data(), then run that script again and send the output of that?



3) Debug the python/C conversions.

In midas/client.py add the following line to hist_get_data() immediately before the call to self.lib.c_hs_read():

```
        print(f"c_start_time={c_start_time.value}, c_end_time={c_end_time.value}, c_interval={c_interval.value}, c_event_name={c_event_name.value}, c_tag_name={c_tag_name.value}")
```

Then run the following and send the output:

```
import midas.client
c = midas.client.MidasClient("history_test")
data = c.hist_get_recent_data(1,1,"test_slow/data","data")
```

For me, I get:
c_start_time=1742254428, c_end_time=1742258028, c_interval=1, c_event_name=b'test_slow/data', c_tag_name=b'data'

I want to check that the UNIX timestamps match what you expect for your server, and that nothing weird is going on with the python/C string conversions.


Thanks,
Ben
  2952   17 Mar 2025 Federico RezzonicoBug Reportpython hist_get_recent_data returns no historical data
Setup:
setting up midas, starting mhttpd and mlogger and running fetest.

The History page and the javascript mjsonrpc client are both able to fetch historical data for test_slow/data. Javascript code used is included here:

mjsonrpc_call(
  "hs_read_arraybuffer",
  {
    start_time: Math.floor((new Date()).getTime() /1000) - 1000,
    end_time: Math.floor((new Date()).getTime() /1000),
    events: ["test_slow/data"],
    tags: ["data"],
    index: [0],
  },
  "arraybuffer"
).then(console.log)

However, the python client does not find any valid events:

Setup:
An exptab is created and the environment variables MIDAS_EXPTAB and MIDAS_EXPT_NAME and MIDASSYS are set (together with the correct PATH)

Running /midas/python/examples/basic_hist_script.py and typing in data:

Valid events are:
* Run transitions
* rrandom/SLOW
* test_slow/data
Enter event name: test_slow/data
Valid tags for test_slow/data are:
* data
Enter tag name: data
Event/tag test_slow/data/data has 1 elements
How many hours: 1
Interval in seconds: 1 # other values were also tested, without success
0 entries found

We expect entries to be found, however do not.

Tested setups:
Macbook Pro Sequoia 15.3 with Python 3.13.2, ROOT latest, midas bitbucket commit 84c7ef7
Windows 11 with Python 3.11, ROOT latest, midas latest commit (development branch)
  2951   16 Mar 2025 Federico RezzonicoBug Reportpython hist_get_events not returning events, but javascript does
> After starting midas (mhttpd &, and mlogger -D) and running the `fetest` frontend I went into the midas/python/examples directory and ran basic_hist_script.py, and, even though I could see the 'pytest' program in the Programs page,
> 
> Valid events are:
> Enter event name:
> 
> was printed out, which signified that no events were found. No errors were displayed.
> 
> Instead, when trying to do the same in javascript (using mjsonrpc_send_request( mjsonrpc_make_request("hs_get_events")).then(console.log)), I was able to get the expected events.
> 
> The History page also displayed the expected data and the plots worked correctly.
> 
> Device info: Chip: Apple M1 Pro, OS: Sequoia (15.3)
> 
> MIDAS version: bitbucket commit 84c7ef7
> 
> Python version: 3.13.2


I tested the command this morning and it worked. The most likely cause of the errors was that I was on a beta version of macOS: Switching beta updates off fixed the issue. Thanks for the help!
  2949   14 Mar 2025 Konstantin OlchanskiBug Reportpython hist_get_events not returning events, but javascript does
> After starting midas (mhttpd &, and mlogger -D) and running the `fetest` frontend I went into the midas/python/examples directory and ran basic_hist_script.py, and, even though I could see the 'pytest' program in the Programs page,
> 
> Valid events are:
> Enter event name:
> 
> was printed out, which signified that no events were found. No errors were displayed.

To check that MIDAS itself is built correctly, you can try "make test", this will create a sample experiment,
run fetest, start, stop a run and check that data file and history file is created with correct history events.

If "make test" fails, I can help debug it.

In your experiment, you can check that history files are created correctly:

1) "mhist -l" should show all available events
2) "mhdump -L *.hst" should show all events in the .hst history files
3) if you have the newer mhf*.dat files, you can "more mhf_1449770978_20151210_hv.dat" to see what data is inside

If all of that works as expected, there must be a problem with the python side and we will have to figure
out how to reproduce it.

This reminds me, "make test" does not test any of the python code, it should be added (and python should be added
to the bitbucket builds).

K.O.
  2948   11 Mar 2025 Ben SmithBug Reportpython hist_get_events not returning events, but javascript does
> Valid events are:
> Enter event name:
> 
> was printed out, which signified that no events were found. No errors were displayed.

I can't reproduce this. I made a brand new experiment, started mlogger/mhttpd/fetest, then ran the same program. I get:

```
$ python basic_hist_script.py
Valid events are:
* Run transitions
* test_slow/data
Enter event name: 
```

Are you sure you ran the python program after running mlogger and not before? Can you try again after restarting mlogger? And can you verify that your python is connecting to the correct experiment if you have multiple experiments defined?

I tested with python 3.12.8 and 3.13.1, and am on MacOS 14.5, but I can't imagine those differences matter.

The python interface is a trivial wrapper around the C++ function, so the only python-specific thing that would result in an empty list is extracting an integer from a ctypes reference. If that's broken in your version then I don't think any of the midas python code would be working.
  2947   11 Mar 2025 Federico RezzonicoBug Reportpython hist_get_events not returning events, but javascript does
After starting midas (mhttpd &, and mlogger -D) and running the `fetest` frontend I went into the midas/python/examples directory and ran basic_hist_script.py, and, even though I could see the 'pytest' program in the Programs page,

Valid events are:
Enter event name:

was printed out, which signified that no events were found. No errors were displayed.

Instead, when trying to do the same in javascript (using mjsonrpc_send_request( mjsonrpc_make_request("hs_get_events")).then(console.log)), I was able to get the expected events.

The History page also displayed the expected data and the plots worked correctly.

Device info: Chip: Apple M1 Pro, OS: Sequoia (15.3)

MIDAS version: bitbucket commit 84c7ef7

Python version: 3.13.2
  2946   28 Feb 2025 Zaher SalmanInfoSyntax validation in sequencer
Hello,

I've implemented a very basic syntax validation in the sequencer GUI. Click the validation button to check the syntax in the current tab.

Please note that this does only a simple syntax validation, the correctness of the logic is still on you :)
Attachment 1: Screenshot_20250228_165543.png
Screenshot_20250228_165543.png
  2945   26 Feb 2025 Thomas LindnerForumTMFeRpcHandlerInterface::HandleEndRun when running offline on a Midas file
Hi,

Sorry, we have been slammed with a couple projects on the TRIUMF side in the past weeks and haven't found time for a 
response.  I am hopeful that we will be able to answer this question (and the cache size question) within the next 10 
days.  

Again apologies,
Thomas

> Hi,
> I have a manalyzer that uses a derived class of TMFeRpcHandlerInterface to communicate information to 
> Midas during online running.  At the end of each run it saves out custom data in the 
> TMFeRpcHandlerInterface::HandleEndRun override. This works really well.
> However, when I run offline on a Midas output file the HandleEndRun method is never called and my data is 
> never saved.  Is this intentional?  I understand that there is no point for the HandleBinaryRpc method offline, 
> but the other methods (HandleEndRun, HandleBeginRun etc) could serve a purpose.  Or is it a conscious 
> choice to ignore all of TMFeRpcHandlerInterface when offline?
> 
> Thanks,
> 
> Mark.
  2944   24 Feb 2025 Stefan RittBug ReportDefault write cache size for new equipments breaks compatibility with older equipments
The commit that introduced the write cache size check is https://bitbucket.org/tmidas/midas/commits/3619ecc6ba1d29d74c16aa6571e40920018184c0

Unfortunately K.O. added the write cache size to the equipment list, but there is currently no way to change this programmatically from the user frontend code. The options I see are

1) Re-arrange the equipment settings so that the write case size comes to the end of the list which the user initializes, like
   {"Trigger",               /* equipment name */
      {1, 0,                 /* event ID, trigger mask */
         "SYSTEM",           /* event buffer */
         EQ_POLLED,          /* equipment type */
         0,                  /* event source */
         "MIDAS",            /* format */
         TRUE,               /* enabled */
         RO_RUNNING |        /* read only when running */
         RO_ODB,             /* and update ODB */
         100,                /* poll for 100ms */
         0,                  /* stop run after this event limit */
         0,                  /* number of sub events */
         0,                  /* don't log history */
         "", "", "", "", "", 0, 0},
      read_trigger_event,    /* readout routine */
      10000000,              /* write cache size */
   },

2) Add a function
fe_set_write_case(int size);
which goes through the local equipment list and sets the cache size for all equipments to be the same.

I would appreciate some guidance from K.O. who introduced that code above.

/Stefan
  2943   19 Feb 2025 Lukas GerritzenBug ReportDefault write cache size for new equipments breaks compatibility with older equipments
We have a frontend for slow control with a lot of legacy code. I wanted to add a new equipment using the
mdev_mscb class. It seems like the default write cache size is 1000000B now, which produces error
messages like this:
12:51:20.154 2025/02/19 [SC Frontend,ERROR] [mfe.cxx:620:register_equipment,ERROR] Write cache size mismatch for buffer "SYSTEM": equipment "Environment" asked for 0, while eqiupment "LED" asked for 10000000
12:51:20.154 2025/02/19 [SC Frontend,ERROR] [mfe.cxx:620:register_equipment,ERROR] Write cache size mismatch for buffer "SYSTEM": equipment "LED" asked for 10000000, while eqiupment "Xenon" asked for 0

I can manually change the write cache size in /Equipment/LED/Common/Write cache size to 0. However, if I delete the LED tree in the ODB, then I get the same problems again. It would be nice if I could either choose the size as 0 in the frontend code, or if the defaults were compatible with our legacy code.

The commit that made the write cache size configurable seems to be from 2019: https://bitbucket.org/tmidas/midas/commits/3619ecc6ba1d29d74c16aa6571e40920018184c0
  2942   12 Feb 2025 Mark GrimesForumTMFeRpcHandlerInterface::HandleEndRun when running offline on a Midas file
Hi,
I have a manalyzer that uses a derived class of TMFeRpcHandlerInterface to communicate information to 
Midas during online running.  At the end of each run it saves out custom data in the 
TMFeRpcHandlerInterface::HandleEndRun override. This works really well.
However, when I run offline on a Midas output file the HandleEndRun method is never called and my data is 
never saved.  Is this intentional?  I understand that there is no point for the HandleBinaryRpc method offline, 
but the other methods (HandleEndRun, HandleBeginRun etc) could serve a purpose.  Or is it a conscious 
choice to ignore all of TMFeRpcHandlerInterface when offline?

Thanks,

Mark.
  2941   07 Feb 2025 Konstantin OlchanskiInfoswitch midas to next c++
to continue where we left off in 2019,
https://daq00.triumf.ca/elog-midas/Midas/1520

time to choose the next c++!

snapshot of 2019:

- Linux RHEL/SL/CentOS6 - gcc 4.4.7, no C++11.
- Linux RHEL/SL/CentOS7 - gcc 4.8.5, full C++11, no C++14, no C++17
- Ubuntu 18.04.2 LTS - gcc 7.3.0, full C++11, full C++14, "experimental" C++17.
- MacOS 10.13 - llvm 10.0.0 (clang-1000.11.45.5), full C++11, full C++14, full C++17

the world moved on:

- el6/SL6 is gone
- el7/CentOS-7 is out the door, only two experiments on my plate (EMMA and ALPHA-g)
- el8 was a still born child of RedHat
- el9 - gcc 11.5 with 12, 13, and 14 available.
- el10 - gcc 14.2

- U-18 - gcc  7.5
- U-20 - gcc  9.4 default, 10.5 available
- U-22 - gcc 11.4 default, 12.3 available
- U-24 - gcc 13.3 default, 14.2 available

- MacOS 15.2 - llvm/clang 16

Next we read C++ level support:

(see here for GCC C++ support: https://gcc.gnu.org/projects/cxx-status.html)
(see here for LLVM clang c++ support: https://clang.llvm.org/cxx_status.html)
(see here for GLIBC c++ support: https://gcc.gnu.org/onlinedocs/libstdc++/manual/status.html)

gcc:
4.4.7 - no C++11
4.8.5 - full C++11, no C++14, no C++17
7.3.0 - full C++11, full C++14, "experimental" C++17.
7.5.0 - c++17 and older
9.4.0 - c++17 and older
10.5 - no c++26, no c++23, mostly c++20, c++17 and older
11.4 - no c++26, no c++23, full c++20 and older
12.3 - no c++26, mostly c++23, full c++20 and older
13.3 - no c++26, mostly c++23, full c++20 and older
14.2 - limited c++26, mostly c++23, full c++20 and older

clang:
16 - no c++26, mostly c++23, mostly c++20, full c++17 and older

I think our preference is c++23, the number of useful improvements is quite big.

This choice will limit us to:
- el9 or older
- U-22 or older
- current MacOS 15.2 with Xcode 16.

It looks like gcc and llvm support for c++23 is only partial, so obviously we will use a subset of c++23 
supported by both.

Next step is to try to build midas with c++23 on el9 and U-22,24 and see what happens.

K.O.
  2940   06 Feb 2025 Konstantin OlchanskiForumTransition from mana -> manalyzer
> > Is there a clear migration docu somewhere?

I can also give you links to the alpha-g analyzer (very complex) and the DarkLight trigger TDC analyzer (very simple),
there is also analyzer examples of in-between complexity.

K.O.
  2939   06 Feb 2025 Konstantin OlchanskiForumTransition from mana -> manalyzer
> Could somebody please give me a boost?

no need to shout into the void, it is pretty easy to identify the author of manalyzer and ask me directly.

> we are planning to migrate from mana to manalyzer. I started to have a look into it and realized that I have some lose ends.
> Is there a clear migration docu somewhere?

README.md and examples in the manalyzer git repository.

If something is missing, or unclear, please ask.

> Currently I understand it the following way (which might be wrong):
> The class TARunObject is used to write analyzer modules which are registered by TAFactory. I hope this is right?

Please read the README file. It explains what is going on there.

Design of manalyzer had 2 main goals:
a) lifetime of all c++ objects (and ROOT objects) is well defined (to fix a design defect in rootana)
b) event flow and data flow are documentable (problem in mfe.c frontends, etc)

> However, in mana there is an analyzer implemented by the user which binds the modules and has additional routines:
> analyzer_init(), analyzer_exit(), analyzer_loop()
> ana_begin_of_run(), ana_end_of_run(), ana_pause_run(), ana_resume_run()
> which we are using.

I have never used the mana analyzer, I wrote the c++ rootana analyzer very early on (first commit in 2006).

But the basic steps should all be there for you:
- initialization (create histograms, open files) can be done in the module constructor or in BeginRun()
- finalization (fit histograms, close files) should be done in EndRun()
- event processing (obviously) in Analyze()
- pause run, resume run and switch to next subrun file have corresponding methods
- all the "flow" and multithreading stuff you can ignore to first order.

To start the migration, I recommend you take manalyzer_example_root.cxx and start stuffing it with your code.

If you run into any problems, I am happy to help with them. Ask here or contact me directly.

> This part I somehow miss in manalyzer, most probably due to lack of understanding, and missing documentation.

True, I wrote a migration guide for the frontend mfe.c to c++ tmfe, because we do this migration
quite often. But I never wrote a migration guide from mana.c analyzer, because we never did such
migration. Most experiments at TRIUMF are post-2006 and use rootana in it's different incarnations.

P.S. I designed the C++ TMFe frontend after manalyzer and I think it came out quite better, I especially
value the design input from Stefan, Thomas, Pierre, Joseph and Ben.

P.P.S. Be free to ignore all this manalyzer business and write your own analyzer based
on the midasio library:

int main()
{
   TMReaderInteraface* f = TMNewReader(file.mid.gz");
   while (1) {
      TMEvent* e = TMReadEvent(f);
      dwim(e);
      delete e;
   }
   delete f;
}

For online processing I use the TMFe class, it has enough bits to be a frontend and an analyzer,
or you can use the older TMidasOnline from rootana.

Access to ODB is via the mvodb library, which is new in midas, but has been part of rootana
and my frontend toolkit since at least 2011 or earlier, inspired by Peter Green's even
older "myload" ODB access library.

K.O.
  2938   05 Feb 2025 Andrea CapraForumTransition from mana -> manalyzer
Hi Andreas,

please find in elog:2938/1 a short introduction that I wrote sometime ago.
I'm glad to offer additional support, if needed.

> Hi,
> 
> we are planning to migrate from mana to manalyzer. I started to have a look into it and realized that I have some lose ends.
> Is there a clear migration docu somewhere?
> 
> Currently I understand it the following way (which might be wrong):
> The class TARunObject is used to write analyzer modules which are registered by TAFactory. I hope this is right?
> 
> However, in mana there is an analyzer implemented by the user which binds the modules and has additional routines:
> analyzer_init(), analyzer_exit(), analyzer_loop()
> ana_begin_of_run(), ana_end_of_run(), ana_pause_run(), ana_resume_run()
> which we are using.
> 
> This part I somehow miss in manalyzer, most probably due to lack of understanding, and missing documentation.
> 
> Could somebody please give me a boost?
Attachment 1: dsadc_analyzer_midas_elog.pdf
dsadc_analyzer_midas_elog.pdf dsadc_analyzer_midas_elog.pdf dsadc_analyzer_midas_elog.pdf dsadc_analyzer_midas_elog.pdf dsadc_analyzer_midas_elog.pdf dsadc_analyzer_midas_elog.pdf dsadc_analyzer_midas_elog.pdf dsadc_analyzer_midas_elog.pdf
  2937   05 Feb 2025 Andreas SuterForumTransition from mana -> manalyzer
Hi,

we are planning to migrate from mana to manalyzer. I started to have a look into it and realized that I have some lose ends.
Is there a clear migration docu somewhere?

Currently I understand it the following way (which might be wrong):
The class TARunObject is used to write analyzer modules which are registered by TAFactory. I hope this is right?

However, in mana there is an analyzer implemented by the user which binds the modules and has additional routines:
analyzer_init(), analyzer_exit(), analyzer_loop()
ana_begin_of_run(), ana_end_of_run(), ana_pause_run(), ana_resume_run()
which we are using.

This part I somehow miss in manalyzer, most probably due to lack of understanding, and missing documentation.

Could somebody please give me a boost?
  2936   01 Feb 2025 Pavel MuratBug ReportMIDAS history system not using the event timestamps ?
> I have a time series of slow control measurements in an ASCII format - 
> data records in a format (run_number, time, temperature, voltage1, ..., voltageN), 
> and, if possible, would like to convert them into a MIDAS history format. 
> 
> Making MIDAS events out of that data is easy, but is it possible to preserve 
> the time stamps?  - Logically, this boils down to whether it is possible to have  
> the event time set by a user frontend

It looks that the original question was not as naive as I expected and may be pointing to a subtle bug. 
I have implemented a python frontend - essentially a clone of 

https://bitbucket.org/tmidas/midas/src/develop/python/midas/frontend.py

reading the old slow control data and setting the event.header.timestamp's to some dates from the year of 2022. 

When I run MIDAS and read the "old slow control events", one event in 10 seconds, 
the MIDAS Event Dump utility shows the data with the correct event timestamps, from the year of 2022. 

However the history plots show the event parameters with the timestamps from Feb 01 2025 and the adjacent 
data points separated by 10 sec.

Is it possible that the history system uses its own timestamp setting instead of using timestamps from the event headers? 
- Under normal circumstances, the two should be very close, and that could've kept the issue hidden... 

-- thanks, regards, Pasha

UPDATE:  I attached the frontend code and the input data file it is reading. The data file should reside in the local directory
- the frontend code doesn't have everything fully automated for the test, 
  -- an integer field "/Mu2e/Offline/Ops/LastTime" would need to be created manually
  -- the history plots would need to be declared manually
Attachment 1: test_frontend.py
#!/usr/bin/env python

"""
Example of a basic midas frontend that has one periodic equipment.

See `examples/multi_frontend.py` for an example that uses more
features (frontend index, polled equipment, ODB settings etc). 
"""

import midas
import midas.frontend
import midas.event
import time, os, sys
from   datetime import datetime

#import TRACE
#TRACE_NAME = 'test_frontend.py'

class MyPeriodicEquipment(midas.frontend.EquipmentBase):
    """
    We define an "equipment" for each logically distinct task that this frontend
    performs. For example, you may have one equipment for reading data from a
    device and sending it to a midas buffer, and another equipment that updates
    summary statistics every 10s.
    
    Each equipment class you define should inherit from 
    `midas.frontend.EquipmentBase`, and should define a `readout_func` function.
    If you're creating a "polled" equipment (rather than a periodic one), you
    should also define a `poll_func` function in addition to `readout_func`.
    """
    def __init__(self, client):
        # The name of our equipment. This name will be used on the midas status
        # page, and our info will appear in /Equipment/MyPeriodicEquipment in
        # the ODB.
        equip_name = "MyPeriodicEquipment"
        
        # Define the "common" settings of a frontend. These will appear in
        # /Equipment/MyPeriodicEquipment/Common. The values you set here are
        # only used the very first time this frontend/equipment runs; after 
        # that the ODB settings are used.
        
        default_common              = midas.frontend.InitialEquipmentCommon()
        default_common.equip_type   = midas.EQ_PERIODIC
        default_common.buffer_name  = "SYSTEM"
        default_common.trigger_mask = 0
        default_common.event_id     = 1
        default_common.period_ms    = 100
        default_common.read_when    = midas.RO_ALWAYS
        default_common.log_history  = 1
        
        # You MUST call midas.frontend.EquipmentBase.__init__ in your equipment's __init__ method!
        midas.frontend.EquipmentBase.__init__(self, client, equip_name, default_common)
        
        # You can set the status of the equipment (appears in the midas status page)
        self.set_status("Initialized")
        self._verbose = 1;
        
# ---------------------------------------------------------------------
    def Print(self,Name,level,Message):
        if(level>self._verbose): return 0;
        now     = time.strftime('%Y/%m/%d %H:%M:%S',time.localtime(time.time()))
        message = now+' [ GridSubmit::'+Name+' ] '+Message
        print(message)
        
    def readout_func(self):
        """
        For a periodic equipment, this function will be called periodically
        (every 100ms in this case). It should return either a `cdms.event.Event`
        or None (if we shouldn't write an event).
        """

        last_time = self.client.odb_get('/Mu2e/Offline/Ops/LastTime')
        self.Print('readout_func',1,f'last_time:{last_time}')
        
#        cmd = 'dqmTool print-numbers --source 5 --value 6 --expand'
        cmd = 'cat val_nightly.csv'
        self.Print('readout_func',1,'executing cmd:%s'%cmd)
        out=os.popen(cmd).readlines()

        event = None;
        for line in out:
            # print(line)
            words = line.strip().split(',')
#------------------------------------------------------------------------------
# ['91', '5228', '0.0', '0  5', 'valNightly', 'reco', 'day', '0  6', 'ops', 'stats', 'CPU  11', '4', '0', '0', '0', '0', '2022-01-11 00:01:00-06:00', '2022-01-11 00:01:00-06:00']
#------------------------------------------------------------------------------
            # In this example, we just make a simple event with one bank.
            dt = datetime.strptime(words[17], "%Y-%m-%d %H:%M:%S%z");
            ts = dt.timestamp();
            if (ts > last_time) :
                data            = []
                print(words);
                event           = midas.event.Event()
                data.append(float(words[0]));
                data.append(float(words[1]));
                data.append(float(words[2]));

                event.create_bank("OFLN", midas.TID_FLOAT, data)
                event.header.timestamp = int(ts);
                self.client.odb_set('/Mu2e/Offline/Ops/LastTime',ts)
                print(f'SET_NEW last_time:{ts} dt:{dt}')
                
                # self.Print('readout_func',1,f'SET_NEW last_time:{ts} dt:{dt}')
                break;
        
        return event

class MyFrontend(midas.frontend.FrontendBase):
    """
    A frontend contains a collection of equipment.
    You can access self.client to access the ODB etc (see `midas.client.MidasClient`).
    """
    def __init__(self):
        # You must call __init__ from the base class.
        midas.frontend.FrontendBase.__init__(self, "myfe_name")
        
        # You can add equipment at any time before you call `run()`, but doing
        # it in __init__() seems logical.
        self.add_equipment(MyPeriodicEquipment(self.client))

        self._verbose = 1
        
    def begin_of_run(self, run_number):
        """
        This function will be called at the beginning of the run.
        You don't have to define it, but you probably should.
        You can access individual equipment classes through the `self.equipment`
        dict if needed.
        """
        self.set_all_equipment_status("Running", "greenLight")
        self.client.msg("Frontend has seen start of run number %d" % run_number)
        return midas.status_codes["SUCCESS"]
        
    def end_of_run(self, run_number):
        self.set_all_equipment_status("Finished", "greenLight")
        self.client.msg("Frontend has seen end of run number %d" % run_number)
        return midas.status_codes["SUCCESS"]
    
    def frontend_exit(self):
        """
        Most people won't need to define this function, but you can use
        it for final cleanup if needed.
        """
        print("Goodbye from user code!")
        
if __name__ == "__main__":
    # The main executable is very simple - just create the frontend object,
    # and call run() on it.
    print("EMOE");
#    TRACE.TRACE(7,'EMOEM',TRACE_NAME)
    with MyFrontend() as my_fe:
        my_fe.run()
Attachment 2: val_nightly.csv
21,4219,0.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  6,4,0,0,0,0,2022-01-06 00:01:00-06:00,2022-01-06 00:01:00-06:00
35,4999,0.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  7,4,0,0,0,0,2022-01-07 00:01:00-06:00,2022-01-07 00:01:00-06:00
49,4187,0.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  8,4,0,0,0,0,2022-01-08 00:01:00-06:00,2022-01-08 00:01:00-06:00
63,3875,0.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  9,4,0,0,0,0,2022-01-09 00:01:00-06:00,2022-01-09 00:01:00-06:00
77,4498,0.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  10,4,0,0,0,0,2022-01-10 00:01:00-06:00,2022-01-10 00:01:00-06:00
91,5228,0.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  11,4,0,0,0,0,2022-01-11 00:01:00-06:00,2022-01-11 00:01:00-06:00
105,4682,0.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  12,4,0,0,0,0,2022-01-12 00:01:00-06:00,2022-01-12 00:01:00-06:00
119,4364,0.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  13,4,0,0,0,0,2022-01-13 00:01:00-06:00,2022-01-13 00:01:00-06:00
133,5069,0.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  14,4,0,0,0,0,2022-01-14 00:01:00-06:00,2022-01-14 00:01:00-06:00
147,3848,0.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  15,4,0,0,0,0,2022-01-15 00:01:00-06:00,2022-01-15 00:01:00-06:00
161,5248,0.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  16,4,0,0,0,0,2022-01-16 00:01:00-06:00,2022-01-16 00:01:00-06:00
175,5276,0.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  17,4,0,0,0,0,2022-01-17 00:01:00-06:00,2022-01-17 00:01:00-06:00
189,5089,0.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  18,4,0,0,0,0,2022-01-18 00:01:00-06:00,2022-01-18 00:01:00-06:00
203,4789,0.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  19,4,0,0,0,0,2022-01-19 00:01:00-06:00,2022-01-19 00:01:00-06:00
217,4652,0.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  20,4,0,0,0,0,2022-01-20 00:01:00-06:00,2022-01-20 00:01:00-06:00
232,5343,0.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  23,5,0,0,0,0,2022-01-21 00:01:00-06:00,2022-01-21 00:01:00-06:00
246,4896,0.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  30,5,0,0,0,0,2022-01-22 00:01:00-06:00,2022-01-22 00:01:00-06:00
296,4812,0.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  46,5,0,0,0,0,2022-01-23 00:01:00-06:00,2022-01-23 00:01:00-06:00
310,4994,0.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  53,5,0,0,0,0,2022-01-24 00:01:00-06:00,2022-01-24 00:01:00-06:00
324,4397,0.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  60,5,0,0,0,0,2022-01-25 00:01:00-06:00,2022-01-25 00:01:00-06:00
338,5242,0.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  67,5,0,0,0,0,2022-01-26 00:01:00-06:00,2022-01-26 00:01:00-06:00
352,4915,0.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  74,5,0,0,0,0,2022-01-27 00:01:00-06:00,2022-01-27 00:01:00-06:00
366,4937,0.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  81,5,0,0,0,0,2022-01-28 00:01:00-06:00,2022-01-28 00:01:00-06:00
380,5096,0.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  88,5,0,0,0,0,2022-01-29 00:01:00-06:00,2022-01-29 00:01:00-06:00
394,5139,0.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  95,5,0,0,0,0,2022-01-30 00:01:00-06:00,2022-01-30 00:01:00-06:00
408,5434,0.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  102,5,0,0,0,0,2022-01-31 00:01:00-06:00,2022-01-31 00:01:00-06:00
422,5212,0.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  109,5,0,0,0,0,2022-02-01 00:01:00-06:00,2022-02-01 00:01:00-06:00
436,5144,0.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  116,5,0,0,0,0,2022-02-02 00:01:00-06:00,2022-02-02 00:01:00-06:00
450,4229,0.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  123,5,0,0,0,0,2022-02-03 00:01:00-06:00,2022-02-03 00:01:00-06:00
464,4760,0.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  130,5,0,0,0,0,2022-02-04 00:01:00-06:00,2022-02-04 00:01:00-06:00
478,4770,0.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  137,5,0,0,0,0,2022-02-05 00:01:00-06:00,2022-02-05 00:01:00-06:00
492,5171,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  144,5,0,0,0,0,2022-02-06 00:01:00-06:00,2022-02-06 00:01:00-06:00
650,4740,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  153,5,0,0,0,0,2022-02-10 00:01:00-06:00,2022-02-10 00:01:00-06:00
700,4923,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  160,5,0,0,0,0,2022-02-11 00:01:00-06:00,2022-02-11 00:01:00-06:00
750,0.0,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  167,5,0,0,0,0,2022-02-12 00:01:00-06:00,2022-02-12 00:01:00-06:00
800,0.0,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  174,5,0,0,0,0,2022-02-13 00:01:00-06:00,2022-02-13 00:01:00-06:00
850,4250,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  181,5,0,0,0,0,2022-02-14 00:01:00-06:00,2022-02-14 00:01:00-06:00
900,4668,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  188,5,0,0,0,0,2022-02-15 00:01:00-06:00,2022-02-15 00:01:00-06:00
950,4638,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  195,5,0,0,0,0,2022-02-16 00:01:00-06:00,2022-02-16 00:01:00-06:00
1000,5111,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  202,5,0,0,0,0,2022-02-17 00:01:00-06:00,2022-02-17 00:01:00-06:00
1050,3788,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  209,5,0,0,0,0,2022-02-18 00:01:00-06:00,2022-02-18 00:01:00-06:00
1100,5291,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  216,5,0,0,0,0,2022-02-19 00:01:00-06:00,2022-02-19 00:01:00-06:00
1150,4563,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  223,5,0,0,0,0,2022-02-20 00:01:00-06:00,2022-02-20 00:01:00-06:00
1200,4649,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  230,5,0,0,0,0,2022-02-21 00:01:00-06:00,2022-02-21 00:01:00-06:00
1250,0.0,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  237,5,0,0,0,0,2022-02-22 00:01:00-06:00,2022-02-22 00:01:00-06:00
1300,0.0,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  244,5,0,0,0,0,2022-02-23 00:01:00-06:00,2022-02-23 00:01:00-06:00
1350,0.0,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  251,5,0,0,0,0,2022-02-24 00:01:00-06:00,2022-02-24 00:01:00-06:00
1400,0.0,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  258,5,0,0,0,0,2022-02-25 00:01:00-06:00,2022-02-25 00:01:00-06:00
1450,0.0,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  265,5,0,0,0,0,2022-02-26 00:01:00-06:00,2022-02-26 00:01:00-06:00
1500,0.0,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  272,5,0,0,0,0,2022-02-27 00:01:00-06:00,2022-02-27 00:01:00-06:00
1550,0.0,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  279,5,0,0,0,0,2022-02-28 00:01:00-06:00,2022-02-28 00:01:00-06:00
1600,254,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  286,5,0,0,0,0,2022-03-01 00:01:00-06:00,2022-03-01 00:01:00-06:00
1650,203,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  293,5,0,0,0,0,2022-03-02 00:01:00-06:00,2022-03-02 00:01:00-06:00
1700,259,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  300,5,0,0,0,0,2022-03-03 00:01:00-06:00,2022-03-03 00:01:00-06:00
1750,255,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  307,5,0,0,0,0,2022-03-04 00:01:00-06:00,2022-03-04 00:01:00-06:00
1800,259,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  314,5,0,0,0,0,2022-03-05 00:01:00-06:00,2022-03-05 00:01:00-06:00
1850,284,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  321,5,0,0,0,0,2022-03-06 00:01:00-06:00,2022-03-06 00:01:00-06:00
1900,258,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  328,5,0,0,0,0,2022-03-07 00:01:00-06:00,2022-03-07 00:01:00-06:00
1950,284,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  335,5,0,0,0,0,2022-03-08 00:01:00-06:00,2022-03-08 00:01:00-06:00
2000,220,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  342,5,0,0,0,0,2022-03-09 00:01:00-06:00,2022-03-09 00:01:00-06:00
2050,197,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  349,5,0,0,0,0,2022-03-10 00:01:00-06:00,2022-03-10 00:01:00-06:00
2100,263,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  356,5,0,0,0,0,2022-03-11 00:01:00-06:00,2022-03-11 00:01:00-06:00
2150,283,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  363,5,0,0,0,0,2022-03-12 00:01:00-06:00,2022-03-12 00:01:00-06:00
2200,276,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  370,5,0,0,0,0,2022-03-13 00:01:00-06:00,2022-03-13 00:01:00-06:00
2250,212,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  377,5,0,0,0,0,2022-03-14 00:01:00-05:00,2022-03-14 00:01:00-05:00
2300,255,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  384,5,0,0,0,0,2022-03-15 00:01:00-05:00,2022-03-15 00:01:00-05:00
2350,212,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  391,5,0,0,0,0,2022-03-16 00:01:00-05:00,2022-03-16 00:01:00-05:00
2400,231,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  398,5,0,0,0,0,2022-03-17 00:01:00-05:00,2022-03-17 00:01:00-05:00
2450,209,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  405,5,0,0,0,0,2022-03-18 00:01:00-05:00,2022-03-18 00:01:00-05:00
2500,253,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  412,5,0,0,0,0,2022-03-19 00:01:00-05:00,2022-03-19 00:01:00-05:00
2550,233,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  419,5,0,0,0,0,2022-03-20 00:01:00-05:00,2022-03-20 00:01:00-05:00
2600,1661,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  426,5,0,0,0,0,2022-03-21 00:01:00-05:00,2022-03-21 00:01:00-05:00
2650,1940,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  433,5,0,0,0,0,2022-03-22 00:01:00-05:00,2022-03-22 00:01:00-05:00
2700,1177,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  440,5,0,0,0,0,2022-03-23 00:01:00-05:00,2022-03-23 00:01:00-05:00
2750,1537,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  447,5,0,0,0,0,2022-03-24 00:01:00-05:00,2022-03-24 00:01:00-05:00
2800,1908,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  454,5,0,0,0,0,2022-03-25 00:01:00-05:00,2022-03-25 00:01:00-05:00
2850,1290,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  461,5,0,0,0,0,2022-03-26 00:01:00-05:00,2022-03-26 00:01:00-05:00
2900,1286,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  468,5,0,0,0,0,2022-03-27 00:01:00-05:00,2022-03-27 00:01:00-05:00
2950,1944,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  475,5,0,0,0,0,2022-03-28 00:01:00-05:00,2022-03-28 00:01:00-05:00
3000,1365,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  482,5,0,0,0,0,2022-03-29 00:01:00-05:00,2022-03-29 00:01:00-05:00
3050,1252,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  489,5,0,0,0,0,2022-03-30 00:01:00-05:00,2022-03-30 00:01:00-05:00
3100,2010,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  496,5,0,0,0,0,2022-03-31 00:01:00-05:00,2022-03-31 00:01:00-05:00
3150,1998,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  503,5,0,0,0,0,2022-04-01 00:01:00-05:00,2022-04-01 00:01:00-05:00
3200,1342,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  510,5,0,0,0,0,2022-04-02 00:01:00-05:00,2022-04-02 00:01:00-05:00
3250,2158,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  517,5,0,0,0,0,2022-04-03 00:01:00-05:00,2022-04-03 00:01:00-05:00
3300,2033,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  524,5,0,0,0,0,2022-04-04 00:01:00-05:00,2022-04-04 00:01:00-05:00
3350,1935,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  531,5,0,0,0,0,2022-04-05 00:01:00-05:00,2022-04-05 00:01:00-05:00
3400,1860,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  538,5,0,0,0,0,2022-04-06 00:01:00-05:00,2022-04-06 00:01:00-05:00
3450,1279,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  545,5,0,0,0,0,2022-04-07 00:01:00-05:00,2022-04-07 00:01:00-05:00
3500,1340,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  552,5,0,0,0,0,2022-04-08 00:01:00-05:00,2022-04-08 00:01:00-05:00
3550,1746,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  559,5,0,0,0,0,2022-04-09 00:01:00-05:00,2022-04-09 00:01:00-05:00
3600,1312,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  566,5,0,0,0,0,2022-04-10 00:01:00-05:00,2022-04-10 00:01:00-05:00
3650,1802,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  573,5,0,0,0,0,2022-04-11 00:01:00-05:00,2022-04-11 00:01:00-05:00
3700,1997,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  580,5,0,0,0,0,2022-04-12 00:01:00-05:00,2022-04-12 00:01:00-05:00
3750,1657,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  587,5,0,0,0,0,2022-04-13 00:01:00-05:00,2022-04-13 00:01:00-05:00
3800,1684,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  594,5,0,0,0,0,2022-04-14 00:01:00-05:00,2022-04-14 00:01:00-05:00
3850,1811,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  601,5,0,0,0,0,2022-04-15 00:01:00-05:00,2022-04-15 00:01:00-05:00
3900,1959,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  608,5,0,0,0,0,2022-04-16 00:01:00-05:00,2022-04-16 00:01:00-05:00
3950,1501,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  615,5,0,0,0,0,2022-04-17 00:01:00-05:00,2022-04-17 00:01:00-05:00
4000,1434,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  622,5,0,0,0,0,2022-04-18 00:01:00-05:00,2022-04-18 00:01:00-05:00
4050,1286,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  629,5,0,0,0,0,2022-04-19 00:01:00-05:00,2022-04-19 00:01:00-05:00
4100,1598,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  636,5,0,0,0,0,2022-04-20 00:01:00-05:00,2022-04-20 00:01:00-05:00
4150,1747,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  643,5,0,0,0,0,2022-04-21 00:01:00-05:00,2022-04-21 00:01:00-05:00
4200,1254,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  650,5,0,0,0,0,2022-04-22 00:01:00-05:00,2022-04-22 00:01:00-05:00
4250,2049,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  657,5,0,0,0,0,2022-04-23 00:01:00-05:00,2022-04-23 00:01:00-05:00
4300,1905,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  664,5,0,0,0,0,2022-04-24 00:01:00-05:00,2022-04-24 00:01:00-05:00
4350,1423,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  671,5,0,0,0,0,2022-04-25 00:01:00-05:00,2022-04-25 00:01:00-05:00
4400,2151,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  678,5,0,0,0,0,2022-04-26 00:01:00-05:00,2022-04-26 00:01:00-05:00
4450,2005,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  685,5,0,0,0,0,2022-04-28 00:01:00-05:00,2022-04-28 00:01:00-05:00
4500,1831,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  692,5,0,0,0,0,2022-04-29 00:01:00-05:00,2022-04-29 00:01:00-05:00
4550,1820,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  699,5,0,0,0,0,2022-04-30 00:01:00-05:00,2022-04-30 00:01:00-05:00
4600,1827,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  706,5,0,0,0,0,2022-05-01 00:01:00-05:00,2022-05-01 00:01:00-05:00
4650,1891,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  713,5,0,0,0,0,2022-05-02 00:01:00-05:00,2022-05-02 00:01:00-05:00
4700,1265,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  720,5,0,0,0,0,2022-05-03 00:01:00-05:00,2022-05-03 00:01:00-05:00
4750,2047,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  727,5,0,0,0,0,2022-05-04 00:01:00-05:00,2022-05-04 00:01:00-05:00
4800,1646,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  734,5,0,0,0,0,2022-05-05 00:01:00-05:00,2022-05-05 00:01:00-05:00
4850,1940,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  741,5,0,0,0,0,2022-05-06 00:01:00-05:00,2022-05-06 00:01:00-05:00
4900,1831,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  748,5,0,0,0,0,2022-05-07 00:01:00-05:00,2022-05-07 00:01:00-05:00
4950,1217,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  755,5,0,0,0,0,2022-05-08 00:01:00-05:00,2022-05-08 00:01:00-05:00
5000,1623,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  762,5,0,0,0,0,2022-05-09 00:01:00-05:00,2022-05-09 00:01:00-05:00
5050,1183,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  769,5,0,0,0,0,2022-05-10 00:01:00-05:00,2022-05-10 00:01:00-05:00
5100,1702,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  776,5,0,0,0,0,2022-05-11 00:01:00-05:00,2022-05-11 00:01:00-05:00
5150,1623,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  783,5,0,0,0,0,2022-05-12 00:01:00-05:00,2022-05-12 00:01:00-05:00
5200,1328,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  790,5,0,0,0,0,2022-05-13 00:01:00-05:00,2022-05-13 00:01:00-05:00
5250,1530,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  797,5,0,0,0,0,2022-05-14 00:01:00-05:00,2022-05-14 00:01:00-05:00
5300,1792,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  804,5,0,0,0,0,2022-05-15 00:01:00-05:00,2022-05-15 00:01:00-05:00
5350,1989,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  811,5,0,0,0,0,2022-05-16 00:01:00-05:00,2022-05-16 00:01:00-05:00
5400,1723,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  818,5,0,0,0,0,2022-05-17 00:01:00-05:00,2022-05-17 00:01:00-05:00
5450,1740,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  825,5,0,0,0,0,2022-05-18 00:01:00-05:00,2022-05-18 00:01:00-05:00
5500,1822,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  832,5,0,0,0,0,2022-05-19 00:01:00-05:00,2022-05-19 00:01:00-05:00
5550,1812,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  839,5,0,0,0,0,2022-05-20 00:01:00-05:00,2022-05-20 00:01:00-05:00
5600,1310,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  846,5,0,0,0,0,2022-05-21 00:01:00-05:00,2022-05-21 00:01:00-05:00
5650,1574,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  853,5,0,0,0,0,2022-05-22 00:01:00-05:00,2022-05-22 00:01:00-05:00
5700,1371,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  860,5,0,0,0,0,2022-05-23 00:01:00-05:00,2022-05-23 00:01:00-05:00
5750,1822,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  867,5,0,0,0,0,2022-05-24 00:01:00-05:00,2022-05-24 00:01:00-05:00
5800,1375,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  874,5,0,0,0,0,2022-05-25 00:01:00-05:00,2022-05-25 00:01:00-05:00
5850,1737,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  881,5,0,0,0,0,2022-05-26 00:01:00-05:00,2022-05-26 00:01:00-05:00
5900,1407,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  888,5,0,0,0,0,2022-05-27 00:01:00-05:00,2022-05-27 00:01:00-05:00
5950,2086,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  895,5,0,0,0,0,2022-05-28 00:01:00-05:00,2022-05-28 00:01:00-05:00
6000,1937,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  902,5,0,0,0,0,2022-05-29 00:01:00-05:00,2022-05-29 00:01:00-05:00
6050,1145,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  909,5,0,0,0,0,2022-05-30 00:01:00-05:00,2022-05-30 00:01:00-05:00
6100,1588,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  916,5,0,0,0,0,2022-05-31 00:01:00-05:00,2022-05-31 00:01:00-05:00
6150,1775,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  923,5,0,0,0,0,2022-06-01 00:01:00-05:00,2022-06-01 00:01:00-05:00
6200,1083,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  930,5,0,0,0,0,2022-06-02 00:01:00-05:00,2022-06-02 00:01:00-05:00
6250,1914,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  937,5,0,0,0,0,2022-06-03 00:01:00-05:00,2022-06-03 00:01:00-05:00
6300,1789,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  944,5,0,0,0,0,2022-06-04 00:01:00-05:00,2022-06-04 00:01:00-05:00
6350,1231,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  951,5,0,0,0,0,2022-06-05 00:01:00-05:00,2022-06-05 00:01:00-05:00
6400,1848,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  958,5,0,0,0,0,2022-06-06 00:01:00-05:00,2022-06-06 00:01:00-05:00
6450,1907,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  965,5,0,0,0,0,2022-06-07 00:01:00-05:00,2022-06-07 00:01:00-05:00
6500,2039,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  972,5,0,0,0,0,2022-06-08 00:01:00-05:00,2022-06-08 00:01:00-05:00
6550,1972,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  979,5,0,0,0,0,2022-06-09 00:01:00-05:00,2022-06-09 00:01:00-05:00
6600,1816,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  986,5,0,0,0,0,2022-06-10 00:01:00-05:00,2022-06-10 00:01:00-05:00
6650,1983,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  993,5,0,0,0,0,2022-06-11 00:01:00-05:00,2022-06-11 00:01:00-05:00
6700,1695,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1000,5,0,0,0,0,2022-06-12 00:01:00-05:00,2022-06-12 00:01:00-05:00
6750,1762,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1007,5,0,0,0,0,2022-06-13 00:01:00-05:00,2022-06-13 00:01:00-05:00
6800,1828,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1014,5,0,0,0,0,2022-06-14 00:01:00-05:00,2022-06-14 00:01:00-05:00
6850,1911,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1021,5,0,0,0,0,2022-06-15 00:01:00-05:00,2022-06-15 00:01:00-05:00
6900,1690,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1028,5,0,0,0,0,2022-06-16 00:01:00-05:00,2022-06-16 00:01:00-05:00
6950,1895,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1035,5,0,0,0,0,2022-06-17 00:01:00-05:00,2022-06-17 00:01:00-05:00
7000,2086,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1042,5,0,0,0,0,2022-06-23 00:01:00-05:00,2022-06-23 00:01:00-05:00
7050,1775,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1049,5,0,0,0,0,2022-06-24 00:01:00-05:00,2022-06-24 00:01:00-05:00
7100,1992,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1056,5,0,0,0,0,2022-06-25 00:01:00-05:00,2022-06-25 00:01:00-05:00
7150,1435,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1063,5,0,0,0,0,2022-06-26 00:01:00-05:00,2022-06-26 00:01:00-05:00
7200,1273,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1070,5,0,0,0,0,2022-06-27 00:01:00-05:00,2022-06-27 00:01:00-05:00
7250,2321,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1077,5,0,0,0,0,2022-06-28 00:01:00-05:00,2022-06-28 00:01:00-05:00
7300,1666,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1084,5,0,0,0,0,2022-06-29 00:01:00-05:00,2022-06-29 00:01:00-05:00
7350,1598,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1091,5,0,0,0,0,2022-06-30 00:01:00-05:00,2022-06-30 00:01:00-05:00
7400,2090,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1098,5,0,0,0,0,2022-07-01 00:01:00-05:00,2022-07-01 00:01:00-05:00
7450,2066,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1105,5,0,0,0,0,2022-07-02 00:01:00-05:00,2022-07-02 00:01:00-05:00
7500,1253,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1112,5,0,0,0,0,2022-07-03 00:01:00-05:00,2022-07-03 00:01:00-05:00
7550,1367,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1119,5,0,0,0,0,2022-07-04 00:01:00-05:00,2022-07-04 00:01:00-05:00
7600,1737,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1126,5,0,0,0,0,2022-07-05 00:01:00-05:00,2022-07-05 00:01:00-05:00
7650,2065,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1133,5,0,0,0,0,2022-07-06 00:01:00-05:00,2022-07-06 00:01:00-05:00
7700,2065,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1140,5,0,0,0,0,2022-07-07 00:01:00-05:00,2022-07-07 00:01:00-05:00
7750,1548,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1147,5,0,0,0,0,2022-07-08 00:01:00-05:00,2022-07-08 00:01:00-05:00
7800,1849,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1154,5,0,0,0,0,2022-07-09 00:01:00-05:00,2022-07-09 00:01:00-05:00
7850,1175,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1161,5,0,0,0,0,2022-07-10 00:01:00-05:00,2022-07-10 00:01:00-05:00
7900,1430,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1168,5,0,0,0,0,2022-07-11 00:01:00-05:00,2022-07-11 00:01:00-05:00
7950,1716,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1175,5,0,0,0,0,2022-07-12 00:01:00-05:00,2022-07-12 00:01:00-05:00
8000,1854,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1182,5,0,0,0,0,2022-07-13 00:01:00-05:00,2022-07-13 00:01:00-05:00
8050,1338,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1189,5,0,0,0,0,2022-07-14 00:01:00-05:00,2022-07-14 00:01:00-05:00
8100,1474,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1196,5,0,0,0,0,2022-07-15 00:01:00-05:00,2022-07-15 00:01:00-05:00
8150,0.0,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1203,5,0,0,0,0,2022-07-16 00:01:00-05:00,2022-07-16 00:01:00-05:00
8200,1288,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1210,5,0,0,0,0,2022-07-17 00:01:00-05:00,2022-07-17 00:01:00-05:00
8250,1784,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1217,5,0,0,0,0,2022-07-18 00:01:00-05:00,2022-07-18 00:01:00-05:00
8300,1981,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1224,5,0,0,0,0,2022-07-19 00:01:00-05:00,2022-07-19 00:01:00-05:00
8350,1332,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1231,5,0,0,0,0,2022-07-20 00:01:00-05:00,2022-07-20 00:01:00-05:00
8400,1680,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1238,5,0,0,0,0,2022-07-21 00:01:00-05:00,2022-07-21 00:01:00-05:00
8450,1384,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1245,5,0,0,0,0,2022-07-22 00:01:00-05:00,2022-07-22 00:01:00-05:00
8500,1929,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1252,5,0,0,0,0,2022-07-23 00:01:00-05:00,2022-07-23 00:01:00-05:00
8550,1994,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1259,5,0,0,0,0,2022-07-24 00:01:00-05:00,2022-07-24 00:01:00-05:00
8600,1976,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1266,5,0,0,0,0,2022-07-25 00:01:00-05:00,2022-07-25 00:01:00-05:00
8650,1719,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1273,5,0,0,0,0,2022-07-26 00:01:00-05:00,2022-07-26 00:01:00-05:00
8700,1752,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1280,5,0,0,0,0,2022-07-27 00:01:00-05:00,2022-07-27 00:01:00-05:00
8750,1264,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1287,5,0,0,0,0,2022-07-28 00:01:00-05:00,2022-07-28 00:01:00-05:00
8800,1649,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1294,5,0,0,0,0,2022-07-29 00:01:00-05:00,2022-07-29 00:01:00-05:00
8850,1656,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1301,5,0,0,0,0,2022-07-30 00:01:00-05:00,2022-07-30 00:01:00-05:00
8900,1283,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1308,5,0,0,0,0,2022-07-31 00:01:00-05:00,2022-07-31 00:01:00-05:00
8950,1242,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1315,5,0,0,0,0,2022-08-01 00:01:00-05:00,2022-08-01 00:01:00-05:00
9000,1586,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1322,5,0,0,0,0,2022-08-02 00:01:00-05:00,2022-08-02 00:01:00-05:00
9050,1396,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1329,5,0,0,0,0,2022-08-03 00:01:00-05:00,2022-08-03 00:01:00-05:00
9100,2035,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1336,5,0,0,0,0,2022-08-04 00:01:00-05:00,2022-08-04 00:01:00-05:00
9150,1774,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1343,5,0,0,0,0,2022-08-05 00:01:00-05:00,2022-08-05 00:01:00-05:00
9200,1878,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1350,5,0,0,0,0,2022-08-06 00:01:00-05:00,2022-08-06 00:01:00-05:00
9250,1922,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1357,5,0,0,0,0,2022-08-07 00:01:00-05:00,2022-08-07 00:01:00-05:00
9300,2277,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1364,5,0,0,0,0,2022-08-08 00:01:00-05:00,2022-08-08 00:01:00-05:00
9350,1589,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1371,5,0,0,0,0,2022-08-09 00:01:00-05:00,2022-08-09 00:01:00-05:00
9400,0.0,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1378,5,0,0,0,0,2022-08-10 00:01:00-05:00,2022-08-10 00:01:00-05:00
9450,1689,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1385,5,0,0,0,0,2022-08-11 00:01:00-05:00,2022-08-11 00:01:00-05:00
9500,1995,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1392,5,0,0,0,0,2022-08-12 00:01:00-05:00,2022-08-12 00:01:00-05:00
9514,0.0,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1399,5,0,0,0,0,2022-08-13 00:01:00-05:00,2022-08-13 00:01:00-05:00
9564,1247,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1406,5,0,0,0,0,2022-08-14 00:01:00-05:00,2022-08-14 00:01:00-05:00
9614,1614,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1413,5,0,0,0,0,2022-08-15 00:01:00-05:00,2022-08-15 00:01:00-05:00
9664,1489,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1420,5,0,0,0,0,2022-08-16 00:01:00-05:00,2022-08-16 00:01:00-05:00
9714,1330,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1427,5,0,0,0,0,2022-08-17 00:01:00-05:00,2022-08-17 00:01:00-05:00
9764,1289,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1434,5,0,0,0,0,2022-08-18 00:01:00-05:00,2022-08-18 00:01:00-05:00
9814,1877,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1441,5,0,0,0,0,2022-08-19 00:01:00-05:00,2022-08-19 00:01:00-05:00
9864,1271,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1448,5,0,0,0,0,2022-08-20 00:01:00-05:00,2022-08-20 00:01:00-05:00
9923,1753,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1455,5,0,0,0,0,2022-08-21 00:01:00-05:00,2022-08-21 00:01:00-05:00
9974,1372,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1463,5,0,0,0,0,2022-08-22 00:01:00-05:00,2022-08-22 00:01:00-05:00
10025,1308,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1471,5,0,0,0,0,2022-08-23 00:01:00-05:00,2022-08-23 00:01:00-05:00
10076,1240,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1479,5,0,0,0,0,2022-08-24 00:01:00-05:00,2022-08-24 00:01:00-05:00
10127,1837,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1487,5,0,0,0,0,2022-08-25 00:01:00-05:00,2022-08-25 00:01:00-05:00
10178,1422,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1495,5,0,0,0,0,2022-08-26 00:01:00-05:00,2022-08-26 00:01:00-05:00
10229,1281,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1503,5,0,0,0,0,2022-08-27 00:01:00-05:00,2022-08-27 00:01:00-05:00
10280,1449,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1511,5,0,0,0,0,2022-08-28 00:01:00-05:00,2022-08-28 00:01:00-05:00
10331,1258,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1519,5,0,0,0,0,2022-08-29 00:01:00-05:00,2022-08-29 00:01:00-05:00
10382,1521,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1527,5,0,0,0,0,2022-08-30 00:01:00-05:00,2022-08-30 00:01:00-05:00
10433,1794,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1535,5,0,0,0,0,2022-08-31 00:01:00-05:00,2022-08-31 00:01:00-05:00
10484,1020,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1543,5,0,0,0,0,2022-09-01 00:01:00-05:00,2022-09-01 00:01:00-05:00
10535,1141,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1551,5,0,0,0,0,2022-09-02 00:01:00-05:00,2022-09-02 00:01:00-05:00
10586,1060,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1559,5,0,0,0,0,2022-09-03 00:01:00-05:00,2022-09-03 00:01:00-05:00
10637,1579,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1567,5,0,0,0,0,2022-09-04 00:01:00-05:00,2022-09-04 00:01:00-05:00
10688,961,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1575,5,0,0,0,0,2022-09-05 00:01:00-05:00,2022-09-05 00:01:00-05:00
10739,1251,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1583,5,0,0,0,0,2022-09-06 00:01:00-05:00,2022-09-06 00:01:00-05:00
10790,1748,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1591,5,0,0,0,0,2022-09-07 00:01:00-05:00,2022-09-07 00:01:00-05:00
10841,1475,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1599,5,0,0,0,0,2022-09-08 00:01:00-05:00,2022-09-08 00:01:00-05:00
10892,1229,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1607,5,0,0,0,0,2022-09-09 00:01:00-05:00,2022-09-09 00:01:00-05:00
10943,1082,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1615,5,0,0,0,0,2022-09-10 00:01:00-05:00,2022-09-10 00:01:00-05:00
10994,1768,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1623,5,0,0,0,0,2022-09-11 00:01:00-05:00,2022-09-11 00:01:00-05:00
11045,1111,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1631,5,0,0,0,0,2022-09-12 00:01:00-05:00,2022-09-12 00:01:00-05:00
11096,1221,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1639,5,0,0,0,0,2022-09-13 00:01:00-05:00,2022-09-13 00:01:00-05:00
11147,1649,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1647,5,0,0,0,0,2022-09-14 00:01:00-05:00,2022-09-14 00:01:00-05:00
11198,1565,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1655,5,0,0,0,0,2022-09-15 00:01:00-05:00,2022-09-15 00:01:00-05:00
11249,1492,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1663,5,0,0,0,0,2022-09-16 00:01:00-05:00,2022-09-16 00:01:00-05:00
11300,1215,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1671,5,0,0,0,0,2022-09-17 00:01:00-05:00,2022-09-17 00:01:00-05:00
11351,990,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1679,5,0,0,0,0,2022-09-18 00:01:00-05:00,2022-09-18 00:01:00-05:00
11402,1220,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1687,5,0,0,0,0,2022-09-19 00:01:00-05:00,2022-09-19 00:01:00-05:00
11453,1737,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1695,5,0,0,0,0,2022-09-20 00:01:00-05:00,2022-09-20 00:01:00-05:00
11504,1786,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1703,5,0,0,0,0,2022-09-21 00:01:00-05:00,2022-09-21 00:01:00-05:00
11555,1658,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1711,5,0,0,0,0,2022-09-22 00:01:00-05:00,2022-09-22 00:01:00-05:00
11606,1580,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1719,5,0,0,0,0,2022-09-23 00:01:00-05:00,2022-09-23 00:01:00-05:00
11657,1003,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1727,5,0,0,0,0,2022-09-24 00:01:00-05:00,2022-09-24 00:01:00-05:00
11708,1630,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1735,5,0,0,0,0,2022-09-25 00:01:00-05:00,2022-09-25 00:01:00-05:00
11759,1535,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1743,5,0,0,0,0,2022-09-26 00:01:00-05:00,2022-09-26 00:01:00-05:00
11810,1242,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1751,5,0,0,0,0,2022-09-27 00:01:00-05:00,2022-09-27 00:01:00-05:00
11861,1601,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1759,5,0,0,0,0,2022-09-28 00:01:00-05:00,2022-09-28 00:01:00-05:00
11912,1831,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1767,5,0,0,0,0,2022-09-29 00:01:00-05:00,2022-09-29 00:01:00-05:00
11963,1830,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1775,5,0,0,0,0,2022-09-30 00:01:00-05:00,2022-09-30 00:01:00-05:00
12014,1819,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1783,5,0,0,0,0,2022-10-01 00:01:00-05:00,2022-10-01 00:01:00-05:00
12065,1533,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1791,5,0,0,0,0,2022-10-02 00:01:00-05:00,2022-10-02 00:01:00-05:00
12116,1663,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1799,5,0,0,0,0,2022-10-03 00:01:00-05:00,2022-10-03 00:01:00-05:00
12167,1513,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1807,5,0,0,0,0,2022-10-04 00:01:00-05:00,2022-10-04 00:01:00-05:00
12218,1235,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1815,5,0,0,0,0,2022-10-05 00:01:00-05:00,2022-10-05 00:01:00-05:00
12269,1385,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1823,5,0,0,0,0,2022-10-06 00:01:00-05:00,2022-10-06 00:01:00-05:00
12320,1521,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1831,5,0,0,0,0,2022-10-07 00:01:00-05:00,2022-10-07 00:01:00-05:00
12371,1613,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1839,5,0,0,0,0,2022-10-08 00:01:00-05:00,2022-10-08 00:01:00-05:00
12422,1282,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1847,5,0,0,0,0,2022-10-09 00:01:00-05:00,2022-10-09 00:01:00-05:00
12473,1174,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1855,5,0,0,0,0,2022-10-10 00:01:00-05:00,2022-10-10 00:01:00-05:00
12524,1511,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1863,5,0,0,0,0,2022-10-11 00:01:00-05:00,2022-10-11 00:01:00-05:00
12575,1510,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1871,5,0,0,0,0,2022-10-12 00:01:00-05:00,2022-10-12 00:01:00-05:00
12626,1110,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1879,5,0,0,0,0,2022-10-13 00:01:00-05:00,2022-10-13 00:01:00-05:00
12677,1107,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1887,5,0,0,0,0,2022-10-14 00:01:00-05:00,2022-10-14 00:01:00-05:00
12728,1129,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1895,5,0,0,0,0,2022-10-15 00:01:00-05:00,2022-10-15 00:01:00-05:00
12779,1194,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1903,5,0,0,0,0,2022-10-16 00:01:00-05:00,2022-10-16 00:01:00-05:00
12830,1028,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1911,5,0,0,0,0,2022-10-17 00:01:00-05:00,2022-10-17 00:01:00-05:00
12881,1036,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1919,5,0,0,0,0,2022-10-18 00:01:00-05:00,2022-10-18 00:01:00-05:00
12932,1160,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1927,5,0,0,0,0,2022-10-19 00:01:00-05:00,2022-10-19 00:01:00-05:00
12983,1488,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1935,5,0,0,0,0,2022-10-20 00:01:00-05:00,2022-10-20 00:01:00-05:00
13034,1693,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1943,5,0,0,0,0,2022-10-21 00:01:00-05:00,2022-10-21 00:01:00-05:00
13085,1658,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1951,5,0,0,0,0,2022-10-22 00:01:00-05:00,2022-10-22 00:01:00-05:00
13136,1130,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1959,5,0,0,0,0,2022-10-23 00:01:00-05:00,2022-10-23 00:01:00-05:00
13187,1623,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1967,5,0,0,0,0,2022-10-24 00:01:00-05:00,2022-10-24 00:01:00-05:00
13238,1528,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1975,5,0,0,0,0,2022-10-25 00:01:00-05:00,2022-10-25 00:01:00-05:00
13289,1714,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1983,5,0,0,0,0,2022-10-26 00:01:00-05:00,2022-10-26 00:01:00-05:00
13340,1441,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1991,5,0,0,0,0,2022-10-28 00:01:00-05:00,2022-10-28 00:01:00-05:00
13391,1478,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  1999,5,0,0,0,0,2022-10-29 00:01:00-05:00,2022-10-29 00:01:00-05:00
13442,1346,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  2007,5,0,0,0,0,2022-10-30 00:01:00-05:00,2022-10-30 00:01:00-05:00
13493,1568,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  2015,5,0,0,0,0,2022-10-31 00:01:00-05:00,2022-10-31 00:01:00-05:00
13544,1076,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  2023,5,0,0,0,0,2022-11-01 00:01:00-05:00,2022-11-01 00:01:00-05:00
13595,1462,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  2031,5,0,0,0,0,2022-11-02 00:01:00-05:00,2022-11-02 00:01:00-05:00
13646,1365,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  2039,5,0,0,0,0,2022-11-03 00:01:00-05:00,2022-11-03 00:01:00-05:00
13697,1491,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  2047,5,0,0,0,0,2022-11-04 00:01:00-05:00,2022-11-04 00:01:00-05:00
13748,1486,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  2055,5,0,0,0,0,2022-11-05 00:01:00-05:00,2022-11-05 00:01:00-05:00
13799,1576,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  2063,5,0,0,0,0,2022-11-06 00:01:00-05:00,2022-11-06 00:01:00-05:00
13850,1121,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  2071,5,0,0,0,0,2022-11-07 00:01:00-06:00,2022-11-07 00:01:00-06:00
13901,0.0,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  2079,5,0,0,0,0,2022-11-08 00:01:00-06:00,2022-11-08 00:01:00-06:00
13952,1401,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  2087,5,0,0,0,0,2022-11-09 00:01:00-06:00,2022-11-09 00:01:00-06:00
14003,1099,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  2095,5,0,0,0,0,2022-11-10 00:01:00-06:00,2022-11-10 00:01:00-06:00
14054,1134,150.0,0  5,valNightly,reco,day,0  6,ops,stats,CPU  2103,5,0,0,0,0,2022-11-11 00:01:00-06:00,2022-11-11 00:01:00-06:00
... 783 more lines ...
ELOG V3.1.4-2e1708b5