ChunkyEventList

A list of events providing range 'slices', using chunks of profiling data for storage.

Useful for real-time profiling (used by Despiker); can add new chunks of profile data in real time and create ranges to generate events in specified time or chunk slices without processing the preceding chunks.

Constructors

this
this(Chunk[] chunkStorage)

Construct a ChunkyEventList.

Members

Functions

addChunk
bool addChunk(immutable(ubyte)[] data)

Add a new chunk of profile data.

generator
Generator generator()

Get a generator to produce profiling events from the list over time as chunks are added.

outOfSpace
bool outOfSpace()

Is the ChunkyEventList out of space?

provideStorage
void provideStorage(Chunk[] storage)

Provide more space to store chunks (not chunk data itself).

slice
Slice slice(SliceExtents slice)

Get an exact slice of the ChunkyEventList as described by a SliceExtents instance.

timeSlice
TimeSlice timeSlice(ulong start, ulong end)

Get a slice of the ChunkyEventList containing events in specified time range.

Structs

Chunk
struct Chunk

A single chunk of profiling data.

Generator
struct Generator

Generates events from the event list as chunks are added.

Slice
struct Slice

A 'slice' of events in the chunky event list.

SliceExtents
struct SliceExtents

Extents of a Slice.

TimeSlice
struct TimeSlice

A 'slice' of events based on start end end time.

Meta