Describe the bug
Setting a transaction/context label with a key that has a period in it, such as transaction.Context.Labels["account.paid"] results in a very difficult to parse error from the server.
To Reproduce
Steps to reproduce the behavior:
t, set a label account.paid with any value, say truet.End()[#/allOf/3/properties/context/properties/tags/additionalProperties] additionalProperties \"account.id\", \"route.controller\", \"route.action\", \"account.paid\" not allowed
Expected behavior
Ideally, periods would be allowed. But if a limitation of APM, I'd prefer a more clear error from the client. A couple of options:
Labels that indicates . is not an allowed character.Context or ITransaction to add some guards against this that can error out with an exception.. (and any other characters) are not allowed. Thanks for reporting this @rgmills.
Just some update on this:
., so probably short/mid term we won't be able to allow this. I'll update once I know how all other agents handle this. Overall I totally agree with you that this could be improved.
Turns out that other agents simply replace . by _. I implemented this in #591 and I also added this to the documentation.
Awesome, thanks @gregkalapos
Implemented in #591 - this will be in the next release.