Go's standard library has the *net.Resolver
type, that is a struct, and I'd like to wrap it in some way because I want to collect metrics on DNS lookups for my application.
I tried wrapping *net.Resolver
:
func WrapResolver(resolver *net.Resolver) *net.Resolver {
return &instrumentedResolver{
Resolver: resolver,
}
}
type instrumentedResolver struct {
*net.Resolver
}
But this doesn't work as *instrumentedResolver
is not compatible with *net.Resolver
. So, question is, is this possible? If it isn't is there any other way for me to collect these metrics?