Search in sources :

Example 6 with Timer

use of org.hisp.dhis.util.Timer in project dhis2-core by dhis2.

the class DefaultEventAnalyticsService method addEventData.

/**
 * Adds event data to the given grid. Returns the number of events matching
 * the given event query.
 *
 * @param grid the {@link Grid}.
 * @param params the {@link EventQueryParams}.
 * @return the count of events.
 */
@Override
protected long addEventData(Grid grid, EventQueryParams params) {
    Timer timer = new Timer().start().disablePrint();
    params = queryPlanner.planEventQuery(params);
    timer.getSplitTime("Planned event query, got partitions: " + params.getPartitions());
    long count = 0;
    if (params.getPartitions().hasAny() || params.isSkipPartitioning()) {
        if (params.isPaging()) {
            count += eventAnalyticsManager.getEventCount(params);
        }
        eventAnalyticsManager.getEvents(params, grid, queryValidator.getMaxLimit());
        timer.getTime("Got events " + grid.getHeight());
    }
    return count;
}
Also used : Timer(org.hisp.dhis.util.Timer)

Example 7 with Timer

use of org.hisp.dhis.util.Timer in project dhis2-core by dhis2.

the class AuditRepositoryTest method testAuditInsertBatch200k.

@Test
@Disabled
void testAuditInsertBatch200k() {
    List<Audit> audits = new ArrayList<>();
    IntStream.rangeClosed(1, 200_000).forEach(n -> {
        String uid = CodeGenerator.generateUid();
        String code = CodeGenerator.generateUid();
        Audit audit = Audit.builder().auditType(AuditType.CREATE).auditScope(AuditScope.AGGREGATE).createdAt(LocalDateTime.of(2000, 1, 1, 0, 0)).createdBy("test-user").klass(DataElement.class.getName()).uid(uid).code(code).data("{}").build();
        audits.add(audit);
    });
    Timer timer = new Timer().start();
    auditRepository.save(audits);
    System.err.println("Batch Insert: " + timer.getTimeInS() + "s");
    assertEquals(200_000, auditRepository.count(AuditQuery.builder().build()));
}
Also used : DataElement(org.hisp.dhis.dataelement.DataElement) Timer(org.hisp.dhis.util.Timer) ArrayList(java.util.ArrayList) TransactionalIntegrationTest(org.hisp.dhis.TransactionalIntegrationTest) Test(org.junit.jupiter.api.Test) Disabled(org.junit.jupiter.api.Disabled)

Aggregations

Timer (org.hisp.dhis.util.Timer)7 ArrayList (java.util.ArrayList)3 DimensionalObject (org.hisp.dhis.common.DimensionalObject)3 HashMap (java.util.HashMap)2 TransactionalIntegrationTest (org.hisp.dhis.TransactionalIntegrationTest)2 DataQueryGroups (org.hisp.dhis.analytics.DataQueryGroups)2 DataQueryParams (org.hisp.dhis.analytics.DataQueryParams)2 QueryPlannerParams (org.hisp.dhis.analytics.QueryPlannerParams)2 BaseDimensionalObject (org.hisp.dhis.common.BaseDimensionalObject)2 DimensionalItemObject (org.hisp.dhis.common.DimensionalItemObject)2 DataElement (org.hisp.dhis.dataelement.DataElement)2 PeriodType.getPeriodTypeFromIsoString (org.hisp.dhis.period.PeriodType.getPeriodTypeFromIsoString)2 Disabled (org.junit.jupiter.api.Disabled)2 Test (org.junit.jupiter.api.Test)2 ImmutableMap (com.google.common.collect.ImmutableMap)1 Map (java.util.Map)1 Future (java.util.concurrent.Future)1 ArrayListValuedHashMap (org.apache.commons.collections4.multimap.ArrayListValuedHashMap)1 ProcessingHint (org.hisp.dhis.analytics.ProcessingHint)1 EventQueryParams (org.hisp.dhis.analytics.event.EventQueryParams)1