### Description

As we are about to start leveraging `Weight#count` to compute total hit counts (https://github.com/elastic/elasticsearch/pull/84778) and aggregation counts (https://github.com/elastic/elasticsearch/pull/81322), we should start instrumenting it so that we can get information about time spent in `Weight#count`.
server/src/test/java/org/elasticsearch/search/profile/query/QueryProfilerTests.java
public boolean equals(Object obj) {
            return this == obj;
        }
        @Override
        public int hashCode() {
            return 0;
        }
        @Override
        public void visit(QueryVisitor visitor) {
            visitor.visitLeaf(this);
        }
        @Override
        public Weight createWeight(IndexSearcher searcher, ScoreMode scoreMode, float boost) throws IOException {
            return new Weight(this) {
                @Override
                public Explanation explain(LeafReaderContext context, int doc) throws IOException {
                    throw new UnsupportedOperationException();
                }
                @Override
                public Scorer scorer(LeafReaderContext context) throws IOException {
                    throw new UnsupportedOperationException();
                }
                @Override
                public ScorerSupplier scorerSupplier(LeafReaderContext context) throws IOException {
                    return new ScorerSupplier() {
                        @Override
                        public Scorer get(long loadCost) throws IOException {
                            throw new UnsupportedOperationException();
                        }
                        @Override