@Override
    public void collectResourcePerfData(BrowserResourcePerfData request, StreamObserver<Commands> responseObserver) {
        if (log.isDebugEnabled()) {
            log.debug("receive browser resource performance data");
        }
        HistogramMetrics.Timer timer = perfHistogram.createTimer();
        try {
            PerfDataAnalyzer analyzer = new PerfDataAnalyzer(perfDataListenerManager);
            analyzer.doAnalysis(new BrowserResourcePerfDataDecorator(request));
        } catch (Throwable e) {
            log.error(e.getMessage(), e);
            perfErrorCounter.inc();
        } finally {
            timer.finish();
            responseObserver.onNext(Commands.newBuilder().build());
            responseObserver.onCompleted();
        }
    }
Collect and process the performance data and error log.
oap-server/server-receiver-plugin/skywalking-browser-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/browser/provider/handler/grpc/BrowserPerfServiceHandler.java