@Override
    public Message read() {
        SourceData sourceData = readFromQueue();
        while (sourceData != null) {
            Message msg = createMessage(sourceData);
            if (filterSourceData(msg)) {
                long auditTime = 0;
                if (isRealTime) {
                    auditTime = AgentUtils.getCurrentTime();
                } else {
                    auditTime = profile.getSinkDataTime();
                }
                Map<String, String> header = msg.getHeader();
                AuditUtils.add(AuditUtils.AUDIT_ID_AGENT_READ_SUCCESS, inlongGroupId, header.get(PROXY_KEY_STREAM_ID),
                        auditTime, 1, sourceData.getData().length, auditVersion);
                AuditUtils.add(AuditUtils.AUDIT_ID_AGENT_READ_SUCCESS_REAL_TIME, inlongGroupId,
                        header.get(PROXY_KEY_STREAM_ID),
                        AgentUtils.getCurrentTime(), 1, sourceData.getData().length, auditVersion);
                return msg;
            }
            sourceData = readFromQueue();
        }
        return null;
    }
Returns the name of the thread, used to identify different data sources

@return source data list
inlong-agent/agent-plugins/src/main/java/org/apache/inlong/agent/plugin/sources/file/AbstractSource.java