Example #1
0
        public void EventMessageIsTruncated()
        {
            string message           = new string('a', 4001);
            var    serviceCheckBytes = DogStatsDSerializer.SerializeEvent(AlertType.Info, "", message, EventPriority.Normal,
                                                                          Array.Empty <byte>(), null, Array.Empty <byte>(), null);
            string serviceCheckStr = Encoding.UTF8.GetString(serviceCheckBytes.Array !, serviceCheckBytes.Offset, serviceCheckBytes.Count);

            Assert.AreEqual($"_e{{000,4000}}:|{message.Substring(0, 4000)}", serviceCheckStr);
        }
Example #2
0
        public void EventAggregationKeyIsTruncated()
        {
            string aggregationKey    = new string('a', 101);
            var    serviceCheckBytes = DogStatsDSerializer.SerializeEvent(AlertType.Info, "", "", EventPriority.Normal,
                                                                          Array.Empty <byte>(), aggregationKey, Array.Empty <byte>(), null);
            string serviceCheckStr = Encoding.UTF8.GetString(serviceCheckBytes.Array !, serviceCheckBytes.Offset, serviceCheckBytes.Count);

            Assert.AreEqual($"_e{{000,0000}}:||k:{aggregationKey.Substring(0, 100)}", serviceCheckStr);
        }
Example #3
0
        public void EventTitleIsTruncated()
        {
            string title             = new string('a', 101);
            var    serviceCheckBytes = DogStatsDSerializer.SerializeEvent(AlertType.Info, title, "", EventPriority.Normal,
                                                                          Array.Empty <byte>(), null, Array.Empty <byte>(), null);
            string serviceCheckStr = Encoding.UTF8.GetString(serviceCheckBytes.Array !, serviceCheckBytes.Offset, serviceCheckBytes.Count);

            Assert.AreEqual($"_e{{100,0000}}:{title.Substring(0, 100)}|", serviceCheckStr);
        }
Example #4
0
        public void SerializeEvent(AlertType alertType, string title, string message, EventPriority priority, string?source,
                                   string?aggregationKey, string?constantTags, string?extraTags, string expected)
        {
            byte[] sourceBytes = source != null?Encoding.ASCII.GetBytes(source) : Array.Empty <byte>();

            byte[] constantTagsBytes = DogStatsDSerializer.ValidateAndSerializeTags(TestHelper.ParseTags(constantTags));
            var    eventBytes        = DogStatsDSerializer.SerializeEvent(alertType, title, message, priority, sourceBytes, aggregationKey, constantTagsBytes, TestHelper.ParseTags(extraTags));
            string eventStr          = Encoding.UTF8.GetString(eventBytes.Array !, eventBytes.Offset, eventBytes.Count);

            Assert.AreEqual(expected, eventStr);
            ArrayPool <byte> .Shared.Return(eventBytes.Array !);
        }