At http://tapestry.apache.org/tapestry5/tapestry-ioc/overview.html there are two code examples under "Why can't I just use new?". I think the class should not implement MetricProducer as the concept of coding to interfaces is introduced later in the text.
At http://tapestry.apache.org/tapestry5/tapestry-ioc/service.html under the "Injecting Dependencies" there is a text right beneath the code example saying: "Here we've annotated the parameters of the service builder method to identify what service to inject for that parameter. ". I see no annotations.