Class WorkerLogs
- java.lang.Object
-
- org.apache.storm.daemon.logviewer.utils.WorkerLogs
-
public class WorkerLogs extends Object
A class that knows about how to operate with worker log directory.
-
-
Field Summary
Fields Modifier and Type Field Description static StringWORKER_YAML
-
Constructor Summary
Constructors Constructor Description WorkerLogs(Map<String,Object> stormConf, Path logRootDir, StormMetricsRegistry metricsRegistry)Constructor.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description Set<String>getAliveIds(int nowSecs)Retrieve the set of alive worker IDs.SortedSet<Path>getAliveWorkerDirs()Return a sorted set of paths that were written by workers that are now active.List<Path>getAllLogsForRootDir()Return a list of all log files from worker directories in root log directory.Set<Path>getAllWorkerDirs()Return a set of all worker directories in all topology directories in root log directory.SortedSet<Path>getLogDirs(Set<Path> logDirs, Predicate<String> predicate)Finds directories for specific worker ids that can be cleaned up.Optional<Path>getMetadataFileForWorkerLogDir(Path logDir)Return a metadata file (worker.yaml) for given worker log directory.StringgetTopologyOwnerFromMetadataFile(Path metaFile)Return topology owner from worker meta file.static StringgetTopologyPortWorkerLog(Path file)Return the path of the worker log with the format of topoId/port/worker.log.*StringgetWorkerIdFromMetadataFile(Path metaFile)Return worker id from worker meta file.voidsetLogFilePermission(String fileName)Set permission of log file so that logviewer can serve the file.
-
-
-
Field Detail
-
WORKER_YAML
public static final String WORKER_YAML
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
WorkerLogs
public WorkerLogs(Map<String,Object> stormConf, Path logRootDir, StormMetricsRegistry metricsRegistry)
Constructor.- Parameters:
stormConf- storm configurationlogRootDir- the log root directorymetricsRegistry- The logviewer metrics registry
-
-
Method Detail
-
setLogFilePermission
public void setLogFilePermission(String fileName) throws IOException
Set permission of log file so that logviewer can serve the file.- Parameters:
fileName- log file- Throws:
IOException
-
getAllLogsForRootDir
public List<Path> getAllLogsForRootDir() throws IOException
Return a list of all log files from worker directories in root log directory.- Throws:
IOException
-
getAllWorkerDirs
public Set<Path> getAllWorkerDirs()
Return a set of all worker directories in all topology directories in root log directory.
-
getAliveWorkerDirs
public SortedSet<Path> getAliveWorkerDirs() throws IOException
Return a sorted set of paths that were written by workers that are now active.- Throws:
IOException
-
getMetadataFileForWorkerLogDir
public Optional<Path> getMetadataFileForWorkerLogDir(Path logDir) throws IOException
Return a metadata file (worker.yaml) for given worker log directory.- Parameters:
logDir- worker log directory- Throws:
IOException
-
getWorkerIdFromMetadataFile
public String getWorkerIdFromMetadataFile(Path metaFile)
Return worker id from worker meta file.- Parameters:
metaFile- metadata file
-
getTopologyOwnerFromMetadataFile
public String getTopologyOwnerFromMetadataFile(Path metaFile)
Return topology owner from worker meta file.- Parameters:
metaFile- metadata file
-
getAliveIds
public Set<String> getAliveIds(int nowSecs) throws IOException
Retrieve the set of alive worker IDs.- Parameters:
nowSecs- current time in seconds- Throws:
IOException
-
getLogDirs
public SortedSet<Path> getLogDirs(Set<Path> logDirs, Predicate<String> predicate)
Finds directories for specific worker ids that can be cleaned up.- Parameters:
logDirs- directories to check whether they're worker directories or notpredicate- a check on a worker id to see if the log dir should be included- Returns:
- directories that can be cleaned up.
-
-