仪器现有的golang结构

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?