@Override
    public void parse(final org.apache.skywalking.apm.network.event.v3.Event e) {
        event.setLayer(Layer.nameOf(e.getLayer()));

        event.setUuid(e.getUuid());

        if (e.hasSource()) {
            final Source source = e.getSource();
            event.setService(namingControl.formatServiceName(source.getService()));
            event.setServiceInstance(namingControl.formatInstanceName(source.getServiceInstance()));
            event.setEndpoint(namingControl.formatEndpointName(source.getService(), source.getEndpoint()));
        }

        event.setName(e.getName());
        event.setType(e.getType().name());
        event.setMessage(e.getMessage());
        if (e.getParametersCount() > 0) {
            event.setParameters(GSON.toJson(e.getParametersMap()));
        }
        event.setStartTime(e.getStartTime());
        event.setEndTime(e.getEndTime());
        if (e.getStartTime() > 0) {
            event.setTimeBucket(TimeBucket.getRecordTimeBucket(e.getStartTime()));
            event.setTimestamp(e.getStartTime());
        } else if (e.getEndTime() > 0) {
            event.setTimeBucket(TimeBucket.getRecordTimeBucket(e.getEndTime()));
            event.setTimestamp(e.getEndTime());
        }
    }
EventRecordAnalyzerListener forwards the event data to the persistence layer with the query required conditions.
oap-server/analyzer/event-analyzer/src/main/java/org/apache/skywalking/oap/server/analyzer/event/listener/EventRecordAnalyzerListener.java