Используя jackcess API, вот суть того, как вы извлекаете транзакционные данные из файла mdb через Java.
Вы можете получить список идентификаторов событий «транзакций» из Event_map.
Table table = db.getTable("Event_map");
Затем вы можете пройти через таблицу «Event_meter» и выбрать нужные события транзакции. Вот схема выполнения транзакции и истекшее время.
Table table = db.getTable("Event_meter");
for (Row row : table) { .....
// The txn recored time "End Time" is the relative end time in seconds to 3 decimals of the txn. Storing as epoch time in msecs
Double txnSecsFromStart = (Double)row.get("End Time");
Long txnEpochTimeMsecs = new Double( runStartTimeEpochMsecs + txnSecsFromStart * 1000 ).longValue();
lrEventMeterBean.setEndTime(txnEpochTimeMsecs.toString());
BigDecimal rawValue = new BigDecimal((Double)row.get("Value" )).setScale(6, RoundingMode.HALF_UP);
BigDecimal thinkTime = new BigDecimal((Double)row.get("Think Time")).setScale(6, RoundingMode.HALF_UP);
lrEventMeterBean.setValue( rawValue.subtract(thinkTime));
.... //и так далее для других полей
Примечание. «runStartTimeEpochMsecs» получается из таблицы «результат».
Поскольку манипулирование данными в Access довольно ограничено, мы загружаем извлеченные данные в базу данных mySql. Затем можно получить такие значения, как 90-й процентиль, которые соответствуют отчету об анализе (требуется немного работы!).
PS: И помните, что файл mdb, о котором я здесь говорю, содержит данные для всего теста, отфильтрованные данные обрабатываются по-другому. Данные, отфильтрованные IMO, слишком сложны, чтобы о них беспокоиться (волшебство и сложность аналитического отчета - это то, за что вы платите, в конце концов...). Опять же, мы используем нашу базу данных mySql для базовой фильтрации.
25.10.2018