summaryrefslogtreecommitdiffstats
path: root/common/pipeline.cpp
diff options
context:
space:
mode:
authorChristian Mollekopf <chrigi_1@fastmail.fm>2016-02-10 10:33:31 +0100
committerChristian Mollekopf <chrigi_1@fastmail.fm>2016-02-10 10:33:31 +0100
commitc1c336a9064557bb987c30582bce84bab3f869bc (patch)
tree7868cfdb5662bf508c30d8f29c222f6aab76bb3d /common/pipeline.cpp
parent1f547bac86c0b4dc3f4ce6d872fe49bbfd77ea51 (diff)
downloadsink-c1c336a9064557bb987c30582bce84bab3f869bc.tar.gz
sink-c1c336a9064557bb987c30582bce84bab3f869bc.zip
Gather more timings
Diffstat (limited to 'common/pipeline.cpp')
-rw-r--r--common/pipeline.cpp12
1 files changed, 11 insertions, 1 deletions
diff --git a/common/pipeline.cpp b/common/pipeline.cpp
index 627550e..93d8236 100644
--- a/common/pipeline.cpp
+++ b/common/pipeline.cpp
@@ -25,6 +25,7 @@
25#include <QVector> 25#include <QVector>
26#include <QUuid> 26#include <QUuid>
27#include <QDebug> 27#include <QDebug>
28#include <QTime>
28#include "entity_generated.h" 29#include "entity_generated.h"
29#include "metadata_generated.h" 30#include "metadata_generated.h"
30#include "createentity_generated.h" 31#include "createentity_generated.h"
@@ -57,6 +58,8 @@ public:
57 QHash<QString, DomainTypeAdaptorFactoryInterface::Ptr> adaptorFactory; 58 QHash<QString, DomainTypeAdaptorFactoryInterface::Ptr> adaptorFactory;
58 bool revisionChanged; 59 bool revisionChanged;
59 void storeNewRevision(qint64 newRevision, const flatbuffers::FlatBufferBuilder &fbb, const QByteArray &bufferType, const QByteArray &uid); 60 void storeNewRevision(qint64 newRevision, const flatbuffers::FlatBufferBuilder &fbb, const QByteArray &bufferType, const QByteArray &uid);
61 QTime transactionTime;
62 int transactionItemCount;
60}; 63};
61 64
62void Pipeline::Private::storeNewRevision(qint64 newRevision, const flatbuffers::FlatBufferBuilder &fbb, const QByteArray &bufferType, const QByteArray &uid) 65void Pipeline::Private::storeNewRevision(qint64 newRevision, const flatbuffers::FlatBufferBuilder &fbb, const QByteArray &bufferType, const QByteArray &uid)
@@ -103,6 +106,9 @@ void Pipeline::startTransaction()
103 if (d->transaction) { 106 if (d->transaction) {
104 return; 107 return;
105 } 108 }
109 Trace() << "Starting transaction.";
110 d->transactionTime.start();
111 d->transactionItemCount = 0;
106 d->transaction = std::move(storage().createTransaction(Storage::ReadWrite)); 112 d->transaction = std::move(storage().createTransaction(Storage::ReadWrite));
107} 113}
108 114
@@ -114,7 +120,8 @@ void Pipeline::commit()
114 // processor->finalize(); 120 // processor->finalize();
115 // } 121 // }
116 const auto revision = Storage::maxRevision(d->transaction); 122 const auto revision = Storage::maxRevision(d->transaction);
117 Trace() << "Committing " << revision; 123 const auto elapsed = d->transactionTime.elapsed();
124 Trace() << "Committing revision: " << revision << ":" << d->transactionItemCount << " items in: " << Log::TraceTime(elapsed) << " " << (double)elapsed/(double)qMax(d->transactionItemCount, 1) << "[ms/item]";
118 if (d->transaction) { 125 if (d->transaction) {
119 d->transaction.commit(); 126 d->transaction.commit();
120 } 127 }
@@ -138,6 +145,7 @@ Storage &Pipeline::storage() const
138KAsync::Job<qint64> Pipeline::newEntity(void const *command, size_t size) 145KAsync::Job<qint64> Pipeline::newEntity(void const *command, size_t size)
139{ 146{
140 Trace() << "Pipeline: New Entity"; 147 Trace() << "Pipeline: New Entity";
148 d->transactionItemCount++;
141 149
142 { 150 {
143 flatbuffers::Verifier verifyer(reinterpret_cast<const uint8_t *>(command), size); 151 flatbuffers::Verifier verifyer(reinterpret_cast<const uint8_t *>(command), size);
@@ -217,6 +225,7 @@ KAsync::Job<qint64> Pipeline::newEntity(void const *command, size_t size)
217KAsync::Job<qint64> Pipeline::modifiedEntity(void const *command, size_t size) 225KAsync::Job<qint64> Pipeline::modifiedEntity(void const *command, size_t size)
218{ 226{
219 Trace() << "Pipeline: Modified Entity"; 227 Trace() << "Pipeline: Modified Entity";
228 d->transactionItemCount++;
220 229
221 const qint64 newRevision = Storage::maxRevision(d->transaction) + 1; 230 const qint64 newRevision = Storage::maxRevision(d->transaction) + 1;
222 231
@@ -337,6 +346,7 @@ KAsync::Job<qint64> Pipeline::modifiedEntity(void const *command, size_t size)
337KAsync::Job<qint64> Pipeline::deletedEntity(void const *command, size_t size) 346KAsync::Job<qint64> Pipeline::deletedEntity(void const *command, size_t size)
338{ 347{
339 Trace() << "Pipeline: Deleted Entity"; 348 Trace() << "Pipeline: Deleted Entity";
349 d->transactionItemCount++;
340 350
341 { 351 {
342 flatbuffers::Verifier verifyer(reinterpret_cast<const uint8_t *>(command), size); 352 flatbuffers::Verifier verifyer(reinterpret_cast<const uint8_t *>(command), size);