The following HierarchyFile example uses a generator statement to create a new element for each unique value in the hostname alarm field, then queries the database to mine the average response time from performance data.
<generator field="hostname"> <param name="Performance.Label" value="Average Performance for {element.name}" /> <param name="Performance.Metrics" value="Avg. Response Time (ms);Avg. Number of Transactions to {element.name}" /> <param name="Performance.Database" value="jdbc:db2:ewm" /> <param name="Performance.User" value="admin" /> <param name="Performance.Password" value="sesame" /> <param name="Performance.Query" value="select time,value*1000 ''Avg. Response Time (ms)'',trans ''Avg. Number of Transactions to {element.name}'' from samples where host=''{alarm.hostname}'' and metric=''{alarm.source}'' and time >= ''{query.from,date,yyyy-MM-dd-HH.mm.ss.000000}'' and time <= ''{query.to,date,yyyy-MM-dd-HH.mm.ss.000000}'' order by time" /> </generator>
The above example equates to the following SQL query with line breaks added:
select time, value*1000 ''Avg. Response Time (ms)'', trans ''Avg. Number of Transactions to {element.name}'' from samples where host=''{alarm.hostname}'' and metric=''{alarm.source}'' and time >= ''{query.from,date,yyyy-MM-dd-HH.mm.ss.000000}'' and time <= ''{query.to,date,yyyy-MM-dd-HH.mm.ss.000000}'' order by time