Retrospectively transform/post-process DCI values

Started by rgkordia, September 05, 2018, 05:55:00 AM

Previous topic - Next topic

rgkordia

Hi,

I have a few years' history in my NetXMS and I now want to apply some different calculations on my past data before it gets graphed.  For example, I'm taking Input/Output readings every 60 seconds on a particular interface and I have around 2 years' worth of data.  I now want to average over 15 and 60 minutes (so loading of the graph doesn't timeout) and also calculate 95th percentile.

I can create scripts to perform the transform/calculation, and I'm thinking I need to write my recalculated data to a separate DCI but I'm unsure how to do this.  I see the PushDCIData function which seems to almost achieve what I want, but I would also need to push a timestamp with the data.

Or am I looking at this the wrong way?

Thanks,
Richard

Victor Kirhenshtein

Hi,

I don't think that currently it is possible without direct DB write. I can make an easy change to PushDCIData function to accept timestamp (or create separate function) to make such transformations possible.

Best regards,
Victor

rgkordia

Thanks Victor.  Yes, that may be a good idea if it's not too difficult.

Perhaps a suggestion for a new feature would be to add a "filter" script that sits between the DCI and, say, a graph.  Or perhaps have the ability to select a script as the input to a graph instead of (as well as) a DCI.

Rich