public static ServiceRequestEvent enter()

in disco-java-agent-sql/src/main/java/software/amazon/disco/agent/sql/JdbcExecuteInterceptor.java [67:93]


    public static ServiceRequestEvent enter(@Advice.AllArguments final Object[] args,
                                            @Advice.Origin final String origin,
                                            @Advice.This final Statement stmt) {
        if (LogManager.isDebugEnabled()) {
            log.debug("DiSCo(Sql) interception of " + origin);
        }

        String query = null;
        String db = null;
        try {
            query = parseQueryFromStatement(stmt, args);
        } catch (Exception e) {
            log.warn("Disco(Sql) failed to retrieve query string for SQL Downstream Service event", e);
        }

        try {
            db = stmt.getConnection().getCatalog();
        } catch (Exception e) {
            log.warn("Disco(Sql) failed to retrieve Database name for SQL Downstream Service event", e);
        }

        // TODO: Consider replacing Statement Request object with a serializable object containing only relevant metadata
        ServiceRequestEvent requestEvent = new ServiceDownstreamRequestEvent(SQL_ORIGIN, db, query)
                .withRequest(stmt);
        EventBus.publish(requestEvent);
        return requestEvent;
    }