A timestamp generator that generates monotonically increasing timestamps client-side. The timestamps generated have a microsecond granularity with the sub-millisecond part generated using a counter. The implementation guarantees that no more than 1000 timestamps will be generated for a given clock tick even if shared by multiple session objects. If that rate is exceeded then a warning is logged and timestamps stop incrementing until the next clock tick.