Why store span_name in the annotation?
Also, service_name is technically nullable isn't it?  The Endpoint structure on the Annotation is optional.