@Override
    public void doInAfterTrace(SpanEventRecorder recorder, Object target, Object[] args, Object result, Throwable throwable) {
        recorder.recordServiceType(CommonsDbcpConstants.SERVICE_TYPE);
        final int argsLength = ArrayUtils.getLength(args);
        if (argsLength == 0) {
//          getConnection() without any arguments
            recorder.recordApi(getMethodDescriptor());
        } else if (argsLength == 2) {
//          skip args[1] because it's a password.
            recorder.recordApi(getMethodDescriptor(), args[0], 0);
        }
        recorder.recordException(throwable);
    }
Maybe we should trace get of Datasource.
@author emeroad
agent-module/plugins/dbcp/src/main/java/com/navercorp/pinpoint/plugin/commons/dbcp/interceptor/DataSourceGetConnectionInterceptor.java