@Override
        public void streamClosed(Status status) {
            if (streamClosedUpdater.getAndSet(this, 1) != 0) {
                return;
            }
            long callLatencyNanos = stopwatch.elapsed(TimeUnit.NANOSECONDS);

            Tags serverMetricTags =
                    Tags.of("grpc.method", this.fullMethodName,
                            "grpc.status", status.getCode().toString(),
                            INSTRUMENTATION_SOURCE_TAG_KEY, Constants.LIBRARY_NAME,
                            INSTRUMENTATION_VERSION_TAG_KEY, Constants.VERSION);
            this.metricsServerMeters.getServerCallDuration()
                    .withTags(serverMetricTags)
                    .record(callLatencyNanos, TimeUnit.NANOSECONDS);
            this.metricsServerMeters.getSentMessageSizeDistribution()
                    .withTags(serverMetricTags)
                    .record(outboundWireSize);
            this.metricsServerMeters.getReceivedMessageSizeDistribution()
                    .withTags(serverMetricTags)
                    .record(inboundWireSize);
        }
Returns a {@link io.grpc.ServerStreamTracer.Factory} with metrics definitions from custom
{@link MetricsServerMeters}.

@param meters The MetricsServerMeters used to configure the metrics definitions.
grpc-server-spring-boot-starter/src/main/java/net/devh/boot/grpc/server/metrics/MetricsServerStreamTracers.java