Autopsy
4.12.0
Graphical digital forensics platform for The Sleuth Kit and other tools.
|
Inherits org.sleuthkit.autopsy.ingest.IngestProgressSnapshotProvider.
Classes | |
class | ExecuteIngestJobTasksTask |
enum | IngestJobEvent |
class | IngestManagerException |
enum | IngestModuleEvent |
class | IngestThreadActivitySnapshot |
class | PublishEventTask |
class | StartIngestJobTask |
Public Member Functions | |
void | addIngestJobEventListener (final PropertyChangeListener listener) |
void | addIngestJobEventListener (Set< IngestJobEvent > eventTypes, final PropertyChangeListener listener) |
void | addIngestModuleEventListener (final PropertyChangeListener listener) |
void | addIngestModuleEventListener (Set< IngestModuleEvent > eventTypes, final PropertyChangeListener listener) |
IngestJobStartResult | beginIngestJob (Collection< Content > dataSources, IngestJobSettings settings) |
void | cancelAllIngestJobs (IngestJob.CancellationReason reason) |
void | cancelAllIngestJobs () |
List< DataSourceIngestJob.Snapshot > | getIngestJobSnapshots () |
List< IngestThreadActivitySnapshot > | getIngestThreadActivitySnapshots () |
Map< String, Long > | getModuleRunTimes () |
int | getNumberOfFileIngestThreads () |
boolean | isIngestRunning () |
void | queueIngestJob (Collection< Content > dataSources, IngestJobSettings settings) |
void | queueIngestJob (Content dataSource, List< AbstractFile > files, IngestJobSettings settings) |
void | removeIngestJobEventListener (final PropertyChangeListener listener) |
void | removeIngestJobEventListener (Set< IngestJobEvent > eventTypes, final PropertyChangeListener listener) |
void | removeIngestModuleEventListener (final PropertyChangeListener listener) |
void | removeIngestModuleEventListener (Set< IngestModuleEvent > eventTypes, final PropertyChangeListener listener) |
synchronized IngestJob | startIngestJob (Collection< Content > dataSources, IngestJobSettings settings) |
Static Public Member Functions | |
static void | addPropertyChangeListener (final PropertyChangeListener listener) |
static synchronized IngestManager | getInstance () |
static void | removePropertyChangeListener (final PropertyChangeListener listener) |
Private Member Functions | |
IngestManager () | |
void | clearIngestMessageBox () |
void | incrementModuleRunTime (String moduleDisplayName, Long duration) |
IngestJobStartResult | startIngestJob (IngestJob job) |
void | subscribeToCaseEvents () |
void | subscribeToServiceMonitorEvents () |
Private Attributes | |
volatile boolean | caseIsOpen |
final ExecutorService | dataSourceLevelIngestJobTasksExecutor = Executors.newSingleThreadExecutor(new ThreadFactoryBuilder().setNameFormat("IM-data-source-ingest-%d").build()) |
final ExecutorService | eventPublishingExecutor = Executors.newSingleThreadExecutor(new ThreadFactoryBuilder().setNameFormat("IM-ingest-events-%d").build()) |
final ExecutorService | fileLevelIngestJobTasksExecutor |
final AtomicLong | ingestErrorMessagePosts = new AtomicLong(0L) |
final Map< Long, IngestJob > | ingestJobsById = new HashMap<>() |
volatile IngestMessageTopComponent | ingestMessageBox |
final Object | ingestMessageBoxLock = new Object() |
final ConcurrentHashMap< String, Long > | ingestModuleRunTimes = new ConcurrentHashMap<>() |
final IngestMonitor | ingestMonitor = new IngestMonitor() |
final ConcurrentHashMap< Long, IngestThreadActivitySnapshot > | ingestThreadActivitySnapshots = new ConcurrentHashMap<>() |
final AutopsyEventPublisher | jobEventPublisher = new AutopsyEventPublisher() |
final AutopsyEventPublisher | moduleEventPublisher = new AutopsyEventPublisher() |
final AtomicLong | nextIngestManagerTaskId = new AtomicLong(0L) |
final int | numberOfFileIngestThreads |
final ServicesMonitor | servicesMonitor = ServicesMonitor.getInstance() |
final Map< Long, Future< Void > > | startIngestJobFutures = new ConcurrentHashMap<>() |
final ExecutorService | startIngestJobsExecutor = Executors.newSingleThreadExecutor(new ThreadFactoryBuilder().setNameFormat("IM-start-ingest-jobs-%d").build()) |
Static Private Attributes | |
static final String | INGEST_JOB_EVENT_CHANNEL_NAME = "%s-Ingest-Job-Events" |
static final Set< String > | INGEST_JOB_EVENT_NAMES = Stream.of(IngestJobEvent.values()).map(IngestJobEvent::toString).collect(Collectors.toSet()) |
static final String | INGEST_MODULE_EVENT_CHANNEL_NAME = "%s-Ingest-Module-Events" |
static final Set< String > | INGEST_MODULE_EVENT_NAMES = Stream.of(IngestModuleEvent.values()).map(IngestModuleEvent::toString).collect(Collectors.toSet()) |
static IngestManager | instance |
static final Logger | logger = Logger.getLogger(IngestManager.class.getName()) |
static final int | MAX_ERROR_MESSAGE_POSTS = 200 |
Manages the creation and execution of ingest jobs, i.e., the processing of data sources by ingest modules.
Every ingest job that is submitted to the ingest manager is passed to an ingest task scheduler to be broken down into data source level and file level ingest job tasks. The ingest job tasks that are put into queues for execution by the ingest manager's executors. The process of starting an ingest job is handled by a single-threaded executor, the processing of data source level ingest tasks is handled by another single-threaded executor, and the processing of file level ingest jobs is handled by an executor with a configurable number of threads.
The ingest manager publishes two kinds of application events: ingest job events and ingest module events. Ingest job events are published when an ingest job changes states, e.g., an ingest job is started or completed. Ingest module events are published on behalf of ingest modules working on an ingest job, when content or an artifact is added to the current case. Each of the two event types is handled by a separate event publisher with its own remote event channel, but all event publishing is handled by a dedicated, single-threaded executor.
The ingest manager uses an ingest monitor to determine when system resources are under pressure. If the ingest monitor detects such a situation, it calls back to the ingest manager to cancel all ingest jobs in progress.
The ingest manager uses a service monitor to watch for service outages. If a key services goes down, the ingest manager cancels all ingest jobs in progress.
The ingest manager provides access to a top component that is used as in "inbox" by ingest modules for the purpose of posting messages for the user. A count of the posts is used to enforce a cap on the number of messages posted, to avoid bogging down the application.
The ingest manager supports reporting of ingest processing progress by collecting snapshots of the activities of the ingest threads, overall ingest job progress, and ingest module run times.
Definition at line 111 of file IngestManager.java.
|
private |
Constructs a manager of the creation and execution of ingest jobs, i.e., the processing of data sources by ingest modules.
Definition at line 159 of file IngestManager.java.
References org.sleuthkit.autopsy.ingest.IngestManager.dataSourceLevelIngestJobTasksExecutor, org.sleuthkit.autopsy.ingest.IngestManager.fileLevelIngestJobTasksExecutor, org.sleuthkit.autopsy.ingest.IngestManager.ingestThreadActivitySnapshots, org.sleuthkit.autopsy.ingest.IngestManager.nextIngestManagerTaskId, org.sleuthkit.autopsy.ingest.IngestManager.numberOfFileIngestThreads, and org.sleuthkit.autopsy.core.UserPreferences.numberOfFileIngestThreads().
Referenced by org.sleuthkit.autopsy.ingest.IngestManager.getInstance().
void org.sleuthkit.autopsy.ingest.IngestManager.addIngestJobEventListener | ( | final PropertyChangeListener | listener | ) |
Adds an ingest job event property change listener.
listener | The PropertyChangeListener to be added. |
Definition at line 491 of file IngestManager.java.
References org.sleuthkit.autopsy.events.AutopsyEventPublisher.addSubscriber(), and org.sleuthkit.autopsy.ingest.IngestManager.jobEventPublisher.
Referenced by org.sleuthkit.autopsy.centralrepository.optionspanel.GlobalSettingsPanel.addIngestJobEventsListener(), org.sleuthkit.autopsy.ingest.IngestOptionsPanel.addIngestJobEventsListener(), org.sleuthkit.autopsy.datamodel.Tags.TagNameNodeFactory.addNotify(), org.sleuthkit.autopsy.communications.FiltersPanel.addNotify(), org.sleuthkit.autopsy.datamodel.InterestingHits.SetNameFactory.addNotify(), org.sleuthkit.autopsy.datamodel.HashsetHits.HashsetNameFactory.addNotify(), org.sleuthkit.autopsy.datamodel.ExtractedContent.TypeFactory.addNotify(), org.sleuthkit.autopsy.datamodel.EmailExtracted.AccountFactory.addNotify(), org.sleuthkit.autopsy.datamodel.accounts.Accounts.AccountTypeFactory.addNotify(), org.sleuthkit.autopsy.datamodel.accounts.Accounts.DefaultAccountFactory.addNotify(), org.sleuthkit.autopsy.datamodel.KeywordHits.ListFactory.addNotify(), org.sleuthkit.autopsy.datamodel.accounts.Accounts.ViewModeFactory.addNotify(), org.sleuthkit.autopsy.datamodel.accounts.Accounts.FileWithCCNFactory.addNotify(), org.sleuthkit.autopsy.datamodel.accounts.Accounts.BINFactory.addNotify(), org.sleuthkit.autopsy.ingest.IngestManager.addPropertyChangeListener(), org.sleuthkit.autopsy.commandlineingest.CommandLineIngestManager.JobProcessingTask.analyze(), org.sleuthkit.autopsy.casemodule.IngestJobInfoPanel.customizeComponents(), org.sleuthkit.autopsy.keywordsearch.DropdownSingleTermSearchPanel.customizeComponents(), org.sleuthkit.autopsy.datamodel.FileTypesByExtension.FileTypesByExtObservable.FileTypesByExtObservable(), org.sleuthkit.autopsy.modules.hashdatabase.HashLookupSettingsPanel.HashLookupSettingsPanel(), org.sleuthkit.autopsy.centralrepository.eventlisteners.IngestEventsListener.installListeners(), and org.sleuthkit.autopsy.datamodel.ExtractedContent.ArtifactFactory.onAdd().
void org.sleuthkit.autopsy.ingest.IngestManager.addIngestJobEventListener | ( | Set< IngestJobEvent > | eventTypes, |
final PropertyChangeListener | listener | ||
) |
Adds an ingest job event property change listener for the given event types.
eventTypes | The event types to listen for |
listener | The PropertyChangeListener to be added |
Definition at line 501 of file IngestManager.java.
References org.sleuthkit.autopsy.events.AutopsyEventPublisher.addSubscriber(), and org.sleuthkit.autopsy.ingest.IngestManager.jobEventPublisher.
void org.sleuthkit.autopsy.ingest.IngestManager.addIngestModuleEventListener | ( | final PropertyChangeListener | listener | ) |
Adds an ingest module event property change listener.
listener | The PropertyChangeListener to be added. |
Definition at line 533 of file IngestManager.java.
References org.sleuthkit.autopsy.events.AutopsyEventPublisher.addSubscriber(), and org.sleuthkit.autopsy.ingest.IngestManager.moduleEventPublisher.
Referenced by org.sleuthkit.autopsy.communications.FiltersPanel.addNotify(), org.sleuthkit.autopsy.datamodel.InterestingHits.SetNameFactory.addNotify(), org.sleuthkit.autopsy.datamodel.HashsetHits.HashsetNameFactory.addNotify(), org.sleuthkit.autopsy.datamodel.ExtractedContent.TypeFactory.addNotify(), org.sleuthkit.autopsy.datamodel.EmailExtracted.AccountFactory.addNotify(), org.sleuthkit.autopsy.datamodel.accounts.Accounts.AccountTypeFactory.addNotify(), org.sleuthkit.autopsy.datamodel.accounts.Accounts.DefaultAccountFactory.addNotify(), org.sleuthkit.autopsy.datamodel.KeywordHits.ListFactory.addNotify(), org.sleuthkit.autopsy.datamodel.accounts.Accounts.ViewModeFactory.addNotify(), org.sleuthkit.autopsy.datamodel.accounts.Accounts.FileWithCCNFactory.addNotify(), org.sleuthkit.autopsy.datamodel.accounts.Accounts.BINFactory.addNotify(), org.sleuthkit.autopsy.ingest.IngestManager.addPropertyChangeListener(), org.sleuthkit.autopsy.datamodel.FileTypesByExtension.FileTypesByExtObservable.FileTypesByExtObservable(), org.sleuthkit.autopsy.datamodel.ImageNode.ImageNode(), org.sleuthkit.autopsy.centralrepository.eventlisteners.IngestEventsListener.installListeners(), org.sleuthkit.autopsy.datamodel.ExtractedContent.ArtifactFactory.onAdd(), and org.sleuthkit.autopsy.datamodel.VolumeNode.VolumeNode().
void org.sleuthkit.autopsy.ingest.IngestManager.addIngestModuleEventListener | ( | Set< IngestModuleEvent > | eventTypes, |
final PropertyChangeListener | listener | ||
) |
Adds an ingest module event property change listener for given event types.
eventTypes | The event types to listen for |
listener | The PropertyChangeListener to be removed. |
Definition at line 543 of file IngestManager.java.
References org.sleuthkit.autopsy.events.AutopsyEventPublisher.addSubscriber(), and org.sleuthkit.autopsy.ingest.IngestManager.moduleEventPublisher.
|
static |
Adds an ingest job and ingest module event property change listener.
listener | The PropertyChangeListener to register. |
Definition at line 1201 of file IngestManager.java.
References org.sleuthkit.autopsy.ingest.IngestManager.addIngestJobEventListener(), org.sleuthkit.autopsy.ingest.IngestManager.addIngestModuleEventListener(), and org.sleuthkit.autopsy.ingest.IngestManager.instance.
IngestJobStartResult org.sleuthkit.autopsy.ingest.IngestManager.beginIngestJob | ( | Collection< Content > | dataSources, |
IngestJobSettings | settings | ||
) |
Immdiately starts an ingest job for one or more data sources.
dataSources | The data sources to process. |
settings | The settings for the ingest job. |
Definition at line 344 of file IngestManager.java.
References org.sleuthkit.autopsy.ingest.IngestManager.caseIsOpen, org.sleuthkit.autopsy.core.RuntimeProperties.runningWithGUI, and org.sleuthkit.autopsy.ingest.IngestManager.startIngestJob().
Referenced by org.sleuthkit.autopsy.commandlineingest.CommandLineIngestManager.JobProcessingTask.analyze(), and org.sleuthkit.autopsy.ingest.IngestManager.startIngestJob().
void org.sleuthkit.autopsy.ingest.IngestManager.cancelAllIngestJobs | ( | IngestJob.CancellationReason | reason | ) |
Cancels all ingest jobs in progress.
reason | The cancellation reason. |
Definition at line 475 of file IngestManager.java.
References org.sleuthkit.autopsy.ingest.IngestJob.cancel(), org.sleuthkit.autopsy.ingest.IngestManager.ingestJobsById, and org.sleuthkit.autopsy.ingest.IngestManager.startIngestJobFutures.
Referenced by org.sleuthkit.autopsy.ingest.IngestMonitor.MonitorTimerAction.actionPerformed(), and org.sleuthkit.autopsy.casemodule.Case.close().
void org.sleuthkit.autopsy.ingest.IngestManager.cancelAllIngestJobs | ( | ) |
Cancels all ingest jobs in progress.
Definition at line 1242 of file IngestManager.java.
References org.sleuthkit.autopsy.ingest.IngestJob.CancellationReason.USER_CANCELLED.
Referenced by org.sleuthkit.autopsy.ingest.IngestManager.subscribeToServiceMonitorEvents().
|
private |
List<DataSourceIngestJob.Snapshot> org.sleuthkit.autopsy.ingest.IngestManager.getIngestJobSnapshots | ( | ) |
Gets snapshots of the state of all running ingest jobs.
Implements org.sleuthkit.autopsy.ingest.IngestProgressSnapshotProvider.
Definition at line 831 of file IngestManager.java.
References org.sleuthkit.autopsy.ingest.IngestManager.ingestJobsById.
List<IngestThreadActivitySnapshot> org.sleuthkit.autopsy.ingest.IngestManager.getIngestThreadActivitySnapshots | ( | ) |
Gets snapshots of the current state of each ingest manager ingest task (ingest thread).
Implements org.sleuthkit.autopsy.ingest.IngestProgressSnapshotProvider.
Definition at line 821 of file IngestManager.java.
References org.sleuthkit.autopsy.ingest.IngestManager.ingestThreadActivitySnapshots.
|
static |
Gets the manager of the creation and execution of ingest jobs, i.e., the processing of data sources by ingest modules.
Definition at line 146 of file IngestManager.java.
References org.sleuthkit.autopsy.ingest.IngestManager.IngestManager(), and org.sleuthkit.autopsy.ingest.IngestManager.instance.
Referenced by org.sleuthkit.autopsy.ingest.runIngestModuleWizard.RunIngestModulesAction.actionPerformed(), org.sleuthkit.autopsy.ingest.IngestMonitor.MonitorTimerAction.actionPerformed(), org.sleuthkit.autopsy.centralrepository.optionspanel.GlobalSettingsPanel.addIngestJobEventsListener(), org.sleuthkit.autopsy.ingest.IngestOptionsPanel.addIngestJobEventsListener(), org.sleuthkit.autopsy.datamodel.Tags.TagNameNodeFactory.addNotify(), org.sleuthkit.autopsy.communications.FiltersPanel.addNotify(), org.sleuthkit.autopsy.datamodel.InterestingHits.SetNameFactory.addNotify(), org.sleuthkit.autopsy.datamodel.HashsetHits.HashsetNameFactory.addNotify(), org.sleuthkit.autopsy.datamodel.ExtractedContent.TypeFactory.addNotify(), org.sleuthkit.autopsy.datamodel.EmailExtracted.AccountFactory.addNotify(), org.sleuthkit.autopsy.datamodel.accounts.Accounts.AccountTypeFactory.addNotify(), org.sleuthkit.autopsy.datamodel.accounts.Accounts.DefaultAccountFactory.addNotify(), org.sleuthkit.autopsy.datamodel.KeywordHits.ListFactory.addNotify(), org.sleuthkit.autopsy.datamodel.accounts.Accounts.ViewModeFactory.addNotify(), org.sleuthkit.autopsy.datamodel.accounts.Accounts.FileWithCCNFactory.addNotify(), org.sleuthkit.autopsy.datamodel.accounts.Accounts.BINFactory.addNotify(), org.sleuthkit.autopsy.commandlineingest.CommandLineIngestManager.JobProcessingTask.analyze(), org.sleuthkit.autopsy.modules.hashdatabase.HashLookupSettingsPanel.cancel(), org.sleuthkit.autopsy.actions.IngestRunningCheck.checkAndConfirmProceed(), org.sleuthkit.autopsy.casemodule.Case.close(), org.sleuthkit.autopsy.ingest.DataSourceIngestJob.createIngestPipelines(), org.sleuthkit.autopsy.casemodule.IngestJobInfoPanel.customizeComponents(), org.sleuthkit.autopsy.keywordsearch.DropdownSingleTermSearchPanel.customizeComponents(), org.sleuthkit.autopsy.centralrepository.optionspanel.GlobalSettingsPanel.enableButtonSubComponents(), org.sleuthkit.autopsy.centralrepository.optionspanel.GlobalSettingsPanel.enableDatabaseConfigureButton(), org.sleuthkit.autopsy.ingest.IngestOptionsPanel.enableTabs(), org.sleuthkit.autopsy.datamodel.FileTypesByExtension.FileTypesByExtObservable.FileTypesByExtObservable(), org.sleuthkit.autopsy.centralrepository.optionspanel.GlobalSettingsPanel.finalize(), org.sleuthkit.autopsy.ingest.IngestServices.fireModuleContentEvent(), org.sleuthkit.autopsy.ingest.IngestServices.fireModuleDataEvent(), org.sleuthkit.autopsy.report.caseuco.CaseUcoFormatExporter.generateReport(), org.sleuthkit.autopsy.modules.fileextmismatch.FileExtMismatchContextMenuActionsProvider.getActions(), org.sleuthkit.autopsy.ingest.IngestServices.getFreeDiskSpace(), org.sleuthkit.autopsy.modules.hashdatabase.HashLookupSettingsPanel.HashLookupSettingsPanel(), org.sleuthkit.autopsy.datamodel.ImageNode.ImageNode(), org.sleuthkit.autopsy.ingest.IngestProgressSnapshotDialog.IngestProgressSnapshotDialog(), org.sleuthkit.autopsy.centralrepository.optionspanel.GlobalSettingsPanel.ingestStateUpdated(), org.sleuthkit.autopsy.centralrepository.eventlisteners.IngestEventsListener.installListeners(), org.sleuthkit.autopsy.datamodel.ExtractedContent.ArtifactFactory.onAdd(), org.sleuthkit.autopsy.datamodel.ExtractedContent.ArtifactFactory.onRemove(), org.sleuthkit.autopsy.ingest.IngestServices.postMessage(), org.sleuthkit.autopsy.centralrepository.eventlisteners.IngestEventsListener.IngestModuleEventListener.propertyChange(), org.sleuthkit.autopsy.modules.hashdatabase.HashDbManager.removeHashDatabaseNoSave(), org.sleuthkit.autopsy.datamodel.VolumeNode.removeListeners(), org.sleuthkit.autopsy.datamodel.ImageNode.removeListeners(), org.sleuthkit.autopsy.datamodel.FileTypesByMimeType.removeListeners(), org.sleuthkit.autopsy.datamodel.AbstractAbstractFileNode< SpecialDirectory >.removeListeners(), org.sleuthkit.autopsy.datamodel.FileTypesByExtension.FileTypesByExtObservable.removeListeners(), org.sleuthkit.autopsy.datamodel.FileSize.FileSizeRootChildren.FileSizeRootChildrenObservable.removeListeners(), org.sleuthkit.autopsy.datamodel.DeletedContent.DeletedContentsChildren.DeletedContentsChildrenObservable.removeListeners(), org.sleuthkit.autopsy.datamodel.Tags.TagNameNodeFactory.removeNotify(), org.sleuthkit.autopsy.communications.FiltersPanel.removeNotify(), org.sleuthkit.autopsy.datamodel.InterestingHits.SetNameFactory.removeNotify(), org.sleuthkit.autopsy.datamodel.HashsetHits.HashsetNameFactory.removeNotify(), org.sleuthkit.autopsy.datamodel.ExtractedContent.TypeFactory.removeNotify(), org.sleuthkit.autopsy.datamodel.EmailExtracted.AccountFactory.removeNotify(), org.sleuthkit.autopsy.datamodel.accounts.Accounts.AccountTypeFactory.removeNotify(), org.sleuthkit.autopsy.datamodel.accounts.Accounts.DefaultAccountFactory.removeNotify(), org.sleuthkit.autopsy.datamodel.KeywordHits.ListFactory.removeNotify(), org.sleuthkit.autopsy.datamodel.accounts.Accounts.ViewModeFactory.removeNotify(), org.sleuthkit.autopsy.datamodel.accounts.Accounts.FileWithCCNFactory.removeNotify(), org.sleuthkit.autopsy.datamodel.accounts.Accounts.BINFactory.removeNotify(), org.sleuthkit.autopsy.ingest.Installer.restored(), org.sleuthkit.autopsy.testing.AutopsyTestCases.testIngest(), org.sleuthkit.autopsy.centralrepository.eventlisteners.IngestEventsListener.uninstallListeners(), org.sleuthkit.autopsy.modules.hashdatabase.HashLookupSettingsPanel.updateComponentsForNoSelection(), org.sleuthkit.autopsy.modules.hashdatabase.HashLookupSettingsPanel.updateComponentsForSelection(), org.sleuthkit.autopsy.datamodel.VolumeNode.VolumeNode(), and org.sleuthkit.autopsy.report.uisnapshot.UiSnapShotReportWriter.writeSummaryHTML().
Map<String, Long> org.sleuthkit.autopsy.ingest.IngestManager.getModuleRunTimes | ( | ) |
Gets the cumulative run times for the ingest module.
Implements org.sleuthkit.autopsy.ingest.IngestProgressSnapshotProvider.
Definition at line 807 of file IngestManager.java.
References org.sleuthkit.autopsy.ingest.IngestManager.ingestModuleRunTimes.
int org.sleuthkit.autopsy.ingest.IngestManager.getNumberOfFileIngestThreads | ( | ) |
Gets the number of file ingest threads the ingest manager is using to do ingest jobs.
Definition at line 295 of file IngestManager.java.
References org.sleuthkit.autopsy.ingest.IngestManager.numberOfFileIngestThreads.
Referenced by org.sleuthkit.autopsy.ingest.DataSourceIngestJob.createIngestPipelines().
|
private |
Updates the cumulative run time for a given ingest module.
moduleDisplayName | The diplay name of the ingest module. |
duration |
Definition at line 785 of file IngestManager.java.
References org.sleuthkit.autopsy.ingest.IngestManager.ingestModuleRunTimes.
boolean org.sleuthkit.autopsy.ingest.IngestManager.isIngestRunning | ( | ) |
Queries whether or not any ingest jobs are in progress at the time of the call.
Definition at line 464 of file IngestManager.java.
References org.sleuthkit.autopsy.ingest.IngestManager.ingestJobsById.
Referenced by org.sleuthkit.autopsy.ingest.IngestMonitor.MonitorTimerAction.actionPerformed(), org.sleuthkit.autopsy.modules.hashdatabase.HashLookupSettingsPanel.cancel(), org.sleuthkit.autopsy.actions.IngestRunningCheck.checkAndConfirmProceed(), org.sleuthkit.autopsy.keywordsearch.DropdownSingleTermSearchPanel.customizeComponents(), org.sleuthkit.autopsy.centralrepository.optionspanel.GlobalSettingsPanel.enableButtonSubComponents(), org.sleuthkit.autopsy.centralrepository.optionspanel.GlobalSettingsPanel.enableDatabaseConfigureButton(), org.sleuthkit.autopsy.ingest.IngestOptionsPanel.enableTabs(), org.sleuthkit.autopsy.report.caseuco.CaseUcoFormatExporter.generateReport(), org.sleuthkit.autopsy.modules.fileextmismatch.FileExtMismatchContextMenuActionsProvider.getActions(), org.sleuthkit.autopsy.centralrepository.optionspanel.GlobalSettingsPanel.ingestStateUpdated(), org.sleuthkit.autopsy.centralrepository.eventlisteners.IngestEventsListener.IngestModuleEventListener.propertyChange(), org.sleuthkit.autopsy.modules.hashdatabase.HashDbManager.removeHashDatabaseNoSave(), org.sleuthkit.autopsy.ingest.IngestManager.subscribeToServiceMonitorEvents(), org.sleuthkit.autopsy.testing.AutopsyTestCases.testIngest(), org.sleuthkit.autopsy.modules.hashdatabase.HashLookupSettingsPanel.updateComponentsForNoSelection(), org.sleuthkit.autopsy.modules.hashdatabase.HashLookupSettingsPanel.updateComponentsForSelection(), and org.sleuthkit.autopsy.report.uisnapshot.UiSnapShotReportWriter.writeSummaryHTML().
void org.sleuthkit.autopsy.ingest.IngestManager.queueIngestJob | ( | Collection< Content > | dataSources, |
IngestJobSettings | settings | ||
) |
Queues an ingest job for for one or more data sources.
dataSources | The data sources to analyze. |
settings | The settings for the ingest job. |
Definition at line 305 of file IngestManager.java.
References org.sleuthkit.autopsy.ingest.IngestManager.caseIsOpen, org.sleuthkit.autopsy.ingest.IngestManager.nextIngestManagerTaskId, org.sleuthkit.autopsy.core.RuntimeProperties.runningWithGUI, org.sleuthkit.autopsy.ingest.IngestManager.startIngestJobFutures, and org.sleuthkit.autopsy.ingest.IngestManager.startIngestJobsExecutor.
Referenced by org.sleuthkit.autopsy.ingest.runIngestModuleWizard.RunIngestModulesAction.actionPerformed().
void org.sleuthkit.autopsy.ingest.IngestManager.queueIngestJob | ( | Content | dataSource, |
List< AbstractFile > | files, | ||
IngestJobSettings | settings | ||
) |
Queues an ingest job for for a data source. Either all of the files in the data source or a given subset of the files will be analyzed.
dataSource | The data source to analyze. |
files | A subset of the files for the data source. |
settings | The settings for the ingest job. |
Definition at line 324 of file IngestManager.java.
References org.sleuthkit.autopsy.ingest.IngestManager.caseIsOpen, org.sleuthkit.autopsy.ingest.IngestManager.nextIngestManagerTaskId, org.sleuthkit.autopsy.core.RuntimeProperties.runningWithGUI, org.sleuthkit.autopsy.ingest.IngestManager.startIngestJobFutures, and org.sleuthkit.autopsy.ingest.IngestManager.startIngestJobsExecutor.
void org.sleuthkit.autopsy.ingest.IngestManager.removeIngestJobEventListener | ( | final PropertyChangeListener | listener | ) |
Removes an ingest job event property change listener.
listener | The PropertyChangeListener to be removed. |
Definition at line 512 of file IngestManager.java.
References org.sleuthkit.autopsy.ingest.IngestManager.jobEventPublisher, and org.sleuthkit.autopsy.events.AutopsyEventPublisher.removeSubscriber().
Referenced by org.sleuthkit.autopsy.commandlineingest.CommandLineIngestManager.JobProcessingTask.analyze(), org.sleuthkit.autopsy.centralrepository.optionspanel.GlobalSettingsPanel.finalize(), org.sleuthkit.autopsy.datamodel.ExtractedContent.ArtifactFactory.onRemove(), org.sleuthkit.autopsy.datamodel.FileTypesByMimeType.removeListeners(), org.sleuthkit.autopsy.datamodel.FileTypesByExtension.FileTypesByExtObservable.removeListeners(), org.sleuthkit.autopsy.datamodel.FileSize.FileSizeRootChildren.FileSizeRootChildrenObservable.removeListeners(), org.sleuthkit.autopsy.datamodel.DeletedContent.DeletedContentsChildren.DeletedContentsChildrenObservable.removeListeners(), org.sleuthkit.autopsy.datamodel.Tags.TagNameNodeFactory.removeNotify(), org.sleuthkit.autopsy.communications.FiltersPanel.removeNotify(), org.sleuthkit.autopsy.datamodel.InterestingHits.SetNameFactory.removeNotify(), org.sleuthkit.autopsy.datamodel.HashsetHits.HashsetNameFactory.removeNotify(), org.sleuthkit.autopsy.datamodel.ExtractedContent.TypeFactory.removeNotify(), org.sleuthkit.autopsy.datamodel.EmailExtracted.AccountFactory.removeNotify(), org.sleuthkit.autopsy.datamodel.accounts.Accounts.AccountTypeFactory.removeNotify(), org.sleuthkit.autopsy.datamodel.accounts.Accounts.DefaultAccountFactory.removeNotify(), org.sleuthkit.autopsy.datamodel.KeywordHits.ListFactory.removeNotify(), org.sleuthkit.autopsy.datamodel.accounts.Accounts.ViewModeFactory.removeNotify(), org.sleuthkit.autopsy.datamodel.accounts.Accounts.FileWithCCNFactory.removeNotify(), org.sleuthkit.autopsy.datamodel.accounts.Accounts.BINFactory.removeNotify(), org.sleuthkit.autopsy.ingest.IngestManager.removePropertyChangeListener(), and org.sleuthkit.autopsy.centralrepository.eventlisteners.IngestEventsListener.uninstallListeners().
void org.sleuthkit.autopsy.ingest.IngestManager.removeIngestJobEventListener | ( | Set< IngestJobEvent > | eventTypes, |
final PropertyChangeListener | listener | ||
) |
Removes an ingest job event property change listener.
eventTypes | The event types to stop listening for |
listener | The PropertyChangeListener to be removed. |
Definition at line 522 of file IngestManager.java.
References org.sleuthkit.autopsy.ingest.IngestManager.jobEventPublisher, and org.sleuthkit.autopsy.events.AutopsyEventPublisher.removeSubscriber().
void org.sleuthkit.autopsy.ingest.IngestManager.removeIngestModuleEventListener | ( | final PropertyChangeListener | listener | ) |
Removes an ingest module event property change listener.
listener | The PropertyChangeListener to be removed. |
Definition at line 554 of file IngestManager.java.
References org.sleuthkit.autopsy.ingest.IngestManager.moduleEventPublisher, and org.sleuthkit.autopsy.events.AutopsyEventPublisher.removeSubscriber().
Referenced by org.sleuthkit.autopsy.datamodel.ExtractedContent.ArtifactFactory.onRemove(), org.sleuthkit.autopsy.datamodel.VolumeNode.removeListeners(), org.sleuthkit.autopsy.datamodel.ImageNode.removeListeners(), org.sleuthkit.autopsy.datamodel.AbstractAbstractFileNode< SpecialDirectory >.removeListeners(), org.sleuthkit.autopsy.datamodel.FileTypesByExtension.FileTypesByExtObservable.removeListeners(), org.sleuthkit.autopsy.datamodel.FileSize.FileSizeRootChildren.FileSizeRootChildrenObservable.removeListeners(), org.sleuthkit.autopsy.datamodel.DeletedContent.DeletedContentsChildren.DeletedContentsChildrenObservable.removeListeners(), org.sleuthkit.autopsy.communications.FiltersPanel.removeNotify(), org.sleuthkit.autopsy.datamodel.InterestingHits.SetNameFactory.removeNotify(), org.sleuthkit.autopsy.datamodel.HashsetHits.HashsetNameFactory.removeNotify(), org.sleuthkit.autopsy.datamodel.ExtractedContent.TypeFactory.removeNotify(), org.sleuthkit.autopsy.datamodel.EmailExtracted.AccountFactory.removeNotify(), org.sleuthkit.autopsy.datamodel.accounts.Accounts.AccountTypeFactory.removeNotify(), org.sleuthkit.autopsy.datamodel.accounts.Accounts.DefaultAccountFactory.removeNotify(), org.sleuthkit.autopsy.datamodel.KeywordHits.ListFactory.removeNotify(), org.sleuthkit.autopsy.datamodel.accounts.Accounts.ViewModeFactory.removeNotify(), org.sleuthkit.autopsy.datamodel.accounts.Accounts.FileWithCCNFactory.removeNotify(), org.sleuthkit.autopsy.datamodel.accounts.Accounts.BINFactory.removeNotify(), org.sleuthkit.autopsy.ingest.IngestManager.removePropertyChangeListener(), and org.sleuthkit.autopsy.centralrepository.eventlisteners.IngestEventsListener.uninstallListeners().
void org.sleuthkit.autopsy.ingest.IngestManager.removeIngestModuleEventListener | ( | Set< IngestModuleEvent > | eventTypes, |
final PropertyChangeListener | listener | ||
) |
Removes an ingest module event property change listener.
eventTypes | The event types to stop listening for |
listener | The PropertyChangeListener to be removed. |
Definition at line 564 of file IngestManager.java.
References org.sleuthkit.autopsy.ingest.IngestManager.moduleEventPublisher, and org.sleuthkit.autopsy.events.AutopsyEventPublisher.removeSubscriber().
|
static |
Removes an ingest job and ingest module event property change listener.
listener | The PropertyChangeListener to unregister. |
Definition at line 1215 of file IngestManager.java.
References org.sleuthkit.autopsy.ingest.IngestManager.instance, org.sleuthkit.autopsy.ingest.IngestManager.removeIngestJobEventListener(), and org.sleuthkit.autopsy.ingest.IngestManager.removeIngestModuleEventListener().
|
private |
Starts an ingest job for one or more data sources.
job | The ingest job to start. |
Definition at line 369 of file IngestManager.java.
References org.sleuthkit.autopsy.casemodule.Case.getCaseType(), org.sleuthkit.autopsy.casemodule.Case.getCurrentCaseThrows(), org.sleuthkit.autopsy.ingest.IngestJob.getId(), org.sleuthkit.autopsy.core.ServicesMonitor.getServiceStatus(), org.sleuthkit.autopsy.ingest.IngestManager.ingestJobsById, org.sleuthkit.autopsy.ingest.IngestManager.ingestMonitor, org.sleuthkit.autopsy.ingest.IngestManager.logger, org.sleuthkit.autopsy.casemodule.Case.CaseType.MULTI_USER_CASE, org.sleuthkit.autopsy.core.ServicesMonitor.Service.REMOTE_CASE_DATABASE, org.sleuthkit.autopsy.core.RuntimeProperties.runningWithGUI, org.sleuthkit.autopsy.ingest.IngestManager.servicesMonitor, and org.sleuthkit.autopsy.core.ServicesMonitor.ServiceStatus.UP.
Referenced by org.sleuthkit.autopsy.ingest.IngestManager.beginIngestJob(), and org.sleuthkit.autopsy.ingest.IngestManager.StartIngestJobTask.call().
synchronized IngestJob org.sleuthkit.autopsy.ingest.IngestManager.startIngestJob | ( | Collection< Content > | dataSources, |
IngestJobSettings | settings | ||
) |
Starts an ingest job that will process a collection of data sources.
dataSources | The data sources to process. |
settings | The settings for the ingest job. |
Definition at line 1231 of file IngestManager.java.
References org.sleuthkit.autopsy.ingest.IngestManager.beginIngestJob(), and org.sleuthkit.autopsy.ingest.IngestJobStartResult.getJob().
|
private |
Subscribes the ingest manager to current case (current case opened/closed) events.
Definition at line 235 of file IngestManager.java.
References org.sleuthkit.autopsy.casemodule.Case.addEventTypeSubscriber(), and org.sleuthkit.autopsy.casemodule.Case.Events.CURRENT_CASE.
|
private |
Subscribes the ingest manager to events published by its service monitor. The event handler cancels all ingest jobs if a key service goes down.
Definition at line 187 of file IngestManager.java.
References org.sleuthkit.autopsy.core.ServicesMonitor.addSubscriber(), org.sleuthkit.autopsy.ingest.IngestManager.cancelAllIngestJobs(), org.sleuthkit.autopsy.core.ServicesMonitor.ServiceStatus.DOWN, org.sleuthkit.autopsy.casemodule.Case.getCaseType(), org.sleuthkit.autopsy.casemodule.Case.getCurrentCaseThrows(), org.sleuthkit.autopsy.ingest.IngestManager.isIngestRunning(), org.sleuthkit.autopsy.casemodule.Case.CaseType.MULTI_USER_CASE, org.sleuthkit.autopsy.core.ServicesMonitor.Service.REMOTE_CASE_DATABASE, org.sleuthkit.autopsy.core.ServicesMonitor.Service.REMOTE_KEYWORD_SEARCH, org.sleuthkit.autopsy.core.RuntimeProperties.runningWithGUI, org.sleuthkit.autopsy.ingest.IngestJob.CancellationReason.SERVICES_DOWN, and org.sleuthkit.autopsy.ingest.IngestManager.servicesMonitor.
|
private |
Definition at line 138 of file IngestManager.java.
Referenced by org.sleuthkit.autopsy.ingest.IngestManager.beginIngestJob(), and org.sleuthkit.autopsy.ingest.IngestManager.queueIngestJob().
|
private |
Definition at line 126 of file IngestManager.java.
Referenced by org.sleuthkit.autopsy.ingest.IngestManager.IngestManager().
|
private |
Definition at line 128 of file IngestManager.java.
|
private |
Definition at line 127 of file IngestManager.java.
Referenced by org.sleuthkit.autopsy.ingest.IngestManager.IngestManager().
|
staticprivate |
Definition at line 114 of file IngestManager.java.
|
staticprivate |
Definition at line 115 of file IngestManager.java.
|
staticprivate |
Definition at line 116 of file IngestManager.java.
|
staticprivate |
Definition at line 117 of file IngestManager.java.
|
private |
Definition at line 134 of file IngestManager.java.
Referenced by org.sleuthkit.autopsy.ingest.IngestManager.clearIngestMessageBox().
|
private |
Definition at line 125 of file IngestManager.java.
Referenced by org.sleuthkit.autopsy.ingest.IngestManager.StartIngestJobTask.call(), org.sleuthkit.autopsy.ingest.IngestManager.cancelAllIngestJobs(), org.sleuthkit.autopsy.ingest.IngestManager.getIngestJobSnapshots(), org.sleuthkit.autopsy.ingest.IngestManager.isIngestRunning(), and org.sleuthkit.autopsy.ingest.IngestManager.startIngestJob().
|
private |
Definition at line 137 of file IngestManager.java.
Referenced by org.sleuthkit.autopsy.ingest.IngestManager.clearIngestMessageBox().
|
private |
Definition at line 133 of file IngestManager.java.
Referenced by org.sleuthkit.autopsy.ingest.IngestManager.clearIngestMessageBox().
|
private |
Definition at line 136 of file IngestManager.java.
Referenced by org.sleuthkit.autopsy.ingest.IngestManager.getModuleRunTimes(), and org.sleuthkit.autopsy.ingest.IngestManager.incrementModuleRunTime().
|
private |
Definition at line 129 of file IngestManager.java.
Referenced by org.sleuthkit.autopsy.ingest.IngestManager.startIngestJob().
|
private |
Definition at line 135 of file IngestManager.java.
Referenced by org.sleuthkit.autopsy.ingest.IngestManager.getIngestThreadActivitySnapshots(), and org.sleuthkit.autopsy.ingest.IngestManager.IngestManager().
|
staticprivate |
|
private |
Definition at line 131 of file IngestManager.java.
Referenced by org.sleuthkit.autopsy.ingest.IngestManager.addIngestJobEventListener(), and org.sleuthkit.autopsy.ingest.IngestManager.removeIngestJobEventListener().
|
staticprivate |
Definition at line 113 of file IngestManager.java.
Referenced by org.sleuthkit.autopsy.ingest.IngestManager.startIngestJob().
|
staticprivate |
Definition at line 118 of file IngestManager.java.
|
private |
Definition at line 132 of file IngestManager.java.
Referenced by org.sleuthkit.autopsy.ingest.IngestManager.addIngestModuleEventListener(), and org.sleuthkit.autopsy.ingest.IngestManager.removeIngestModuleEventListener().
|
private |
Definition at line 122 of file IngestManager.java.
Referenced by org.sleuthkit.autopsy.ingest.IngestManager.IngestManager(), and org.sleuthkit.autopsy.ingest.IngestManager.queueIngestJob().
|
private |
Definition at line 121 of file IngestManager.java.
Referenced by org.sleuthkit.autopsy.ingest.IngestManager.getNumberOfFileIngestThreads(), and org.sleuthkit.autopsy.ingest.IngestManager.IngestManager().
|
private |
Definition at line 130 of file IngestManager.java.
Referenced by org.sleuthkit.autopsy.ingest.IngestManager.startIngestJob(), and org.sleuthkit.autopsy.ingest.IngestManager.subscribeToServiceMonitorEvents().
|
private |
Definition at line 124 of file IngestManager.java.
Referenced by org.sleuthkit.autopsy.ingest.IngestManager.StartIngestJobTask.call(), org.sleuthkit.autopsy.ingest.IngestManager.cancelAllIngestJobs(), and org.sleuthkit.autopsy.ingest.IngestManager.queueIngestJob().
|
private |
Definition at line 123 of file IngestManager.java.
Referenced by org.sleuthkit.autopsy.ingest.IngestManager.queueIngestJob().
Copyright © 2012-2018 Basis Technology. Generated on: Wed Sep 18 2019
This work is licensed under a
Creative Commons Attribution-Share Alike 3.0 United States License.