зеркало из https://github.com/mozilla/gecko-dev.git
Bug 672207. imglib-telemetry: record the full time it takes to decode images. r=jlebar,joe
Do this by accumulating decode latency in mDecodeTime which is added to imgDecodeWorker.
This commit is contained in:
Родитель
f6cef88297
Коммит
dc3868d3be
|
@ -2711,6 +2711,9 @@ imgDecodeWorker::Run()
|
|||
TimeDuration decodeLatency = TimeStamp::Now() - start;
|
||||
Telemetry::Accumulate(Telemetry::IMAGE_DECODE_LATENCY, PRInt32(decodeLatency.ToMicroseconds()));
|
||||
|
||||
// accumulate the total decode time
|
||||
mDecodeTime += decodeLatency;
|
||||
|
||||
// Flush invalidations _after_ we've written everything we're going to.
|
||||
// Furthermore, if this is a redecode, we don't want to do progressive
|
||||
// display at all. In that case, let Decoder::PostFrameStop() do the
|
||||
|
@ -2723,6 +2726,7 @@ imgDecodeWorker::Run()
|
|||
|
||||
// If the decode finished, shutdown the decoder
|
||||
if (image->mDecoder && image->IsDecodeFinished()) {
|
||||
Telemetry::Accumulate(Telemetry::IMAGE_DECODE_TIME, PRInt32(mDecodeTime.ToMicroseconds()));
|
||||
rv = image->ShutdownDecoder(RasterImage::eShutdownIntent_Done);
|
||||
if (NS_FAILED(rv)) {
|
||||
image->DoError();
|
||||
|
|
|
@ -64,6 +64,7 @@
|
|||
#include "imgFrame.h"
|
||||
#include "nsThreadUtils.h"
|
||||
#include "DiscardTracker.h"
|
||||
#include "mozilla/TimeStamp.h"
|
||||
#ifdef DEBUG
|
||||
#include "imgIContainerDebug.h"
|
||||
#endif
|
||||
|
@ -571,6 +572,7 @@ class imgDecodeWorker : public nsRunnable
|
|||
|
||||
private:
|
||||
nsWeakPtr mContainer;
|
||||
TimeDuration mDecodeTime; // the default constructor initializes to 0
|
||||
};
|
||||
|
||||
// Asynchronous Decode Requestor
|
||||
|
|
|
@ -83,7 +83,8 @@ HISTOGRAM(MAC_INITFONTLIST_TOTAL, 1, 30000, 10, EXPONENTIAL, "gfxMacPlatformFont
|
|||
#endif
|
||||
HISTOGRAM(SHUTDOWN_OK, 0, 1, 2, BOOLEAN, "Did the browser start after a successful shutdown")
|
||||
|
||||
HISTOGRAM(IMAGE_DECODE_LATENCY, 50, 5000000, 100, EXPONENTIAL, "Time spent decoding an image chunk (us)")
|
||||
HISTOGRAM(IMAGE_DECODE_LATENCY, 50, 5000000, 100, EXPONENTIAL, "Time spent decoding an image chunk (us)")
|
||||
HISTOGRAM(IMAGE_DECODE_TIME, 50, 50000000, 100, EXPONENTIAL, "Time spent decoding an image (us)")
|
||||
|
||||
/**
|
||||
* Networking telemetry
|
||||
|
|
Загрузка…
Ссылка в новой задаче