@Monitored attribute prepends the name of the interface implemented by annotated class when 'value' attribute is specified

Description

This is surprising, because the annotation is written as follows on the method of the class HotelSearchCommandFinder which is implements com.orbitz.hotel.lib.switching.search.HotelSearchCommandService interface.
The value of the HotelSearchServiceImpl.SEARCH_MONITOR constant is "Search.".

@Monitored(value = HotelSearchServiceImpl.SEARCH_MONITOR + "getSearchCommand")
public HotelSearchCommand getSearchCommand(...)

The name of the emitted monitor is com.orbitz.hotel.lib.switching.search.HotelSearchCommandService.Search.getSearchCommand.

This prevents using @Monitored to specify a canonical monitor name (which is less brittle then packages and easier to discover in the Graphite)

Environment

None

Assignee

Connor Garvey

Reporter

Anton Mostovoy

Labels

None

Priority

Major
Configure