[6a3a178] | 1 | import HistogramLogWriter from "./HistogramLogWriter";
|
---|
| 2 | import Int32Histogram from "./Int32Histogram";
|
---|
| 3 |
|
---|
| 4 | describe("Histogram Log Writer", () => {
|
---|
| 5 | let buffer: string;
|
---|
| 6 | let writer: HistogramLogWriter;
|
---|
| 7 | let histogram: Int32Histogram;
|
---|
| 8 | beforeEach(() => {
|
---|
| 9 | buffer = "";
|
---|
| 10 | writer = new HistogramLogWriter((content) => {
|
---|
| 11 | buffer += content;
|
---|
| 12 | });
|
---|
| 13 | histogram = new Int32Histogram(1, Number.MAX_SAFE_INTEGER, 3);
|
---|
| 14 | });
|
---|
| 15 |
|
---|
| 16 | it("should write a line with start time, duration, max value, and a base64 encoded histogram", () => {
|
---|
| 17 | // given
|
---|
| 18 | histogram.recordValue(123000);
|
---|
| 19 | // when
|
---|
| 20 | writer.outputIntervalHistogram(histogram, 1000, 1042);
|
---|
| 21 | // then
|
---|
| 22 | expect(buffer).toMatch(/^1000.000,42.000,123.000,HISTFAA/);
|
---|
| 23 | });
|
---|
| 24 |
|
---|
| 25 | it("should write start time, duration and max value using 3 digits", () => {
|
---|
| 26 | // given
|
---|
| 27 | histogram.recordValue(123001);
|
---|
| 28 | // when
|
---|
| 29 | writer.outputIntervalHistogram(histogram, 1000.0120001, 1042.013001);
|
---|
| 30 | // then
|
---|
| 31 | expect(buffer).toMatch(/^1000.012,42.001,123.001,HISTFAA/);
|
---|
| 32 | });
|
---|
| 33 |
|
---|
| 34 | it("should write a line starting with histogram tag", () => {
|
---|
| 35 | // given
|
---|
| 36 | histogram.tag = "TAG";
|
---|
| 37 | histogram.recordValue(123000);
|
---|
| 38 | // when
|
---|
| 39 | writer.outputIntervalHistogram(histogram, 1000, 1042);
|
---|
| 40 | // then
|
---|
| 41 | expect(buffer).toContain("Tag=TAG,1000.000,42.000,123.000,HISTFAA");
|
---|
| 42 | });
|
---|
| 43 |
|
---|
| 44 | it("should write a histogram's start time in sec using basetime", () => {
|
---|
| 45 | // given
|
---|
| 46 | histogram.startTimeStampMsec = 1234001;
|
---|
| 47 | histogram.endTimeStampMsec = 1235001;
|
---|
| 48 | writer.baseTime = 1000000;
|
---|
| 49 | histogram.recordValue(1);
|
---|
| 50 | // when
|
---|
| 51 | writer.outputIntervalHistogram(histogram);
|
---|
| 52 | // then
|
---|
| 53 | expect(buffer).toContain("234.001");
|
---|
| 54 | });
|
---|
| 55 |
|
---|
| 56 | it("should write start time in seconds", () => {
|
---|
| 57 | // given
|
---|
| 58 | // when
|
---|
| 59 | writer.outputStartTime(1234560);
|
---|
| 60 | // then
|
---|
| 61 | expect(buffer).toContain("1234.560");
|
---|
| 62 | });
|
---|
| 63 | });
|
---|