public void ScheduleDumpAnalysis(DumpMetainfo dumpInfo) { string dumpFilePath = dumpStorage.GetDumpFilePath(dumpInfo.Id); if (!File.Exists(dumpFilePath)) { throw new DumpNotFoundException($"id: {dumpInfo.Id}, path: {dumpFilePath}"); } string analysisWorkingDir = pathHelper.GetDumpDirectory(dumpInfo.Id); if (!Directory.Exists(analysisWorkingDir)) { throw new DirectoryNotFoundException($"id: {dumpInfo.Id}, path: {dumpFilePath}"); } // schedule actual analysis var outgoingMessageTracer = dynatraceSdk.TraceOutgoingMessage(messagingSystemInfo); outgoingMessageTracer.Trace(() => { string jobId = Hangfire.BackgroundJob.Enqueue <AnalysisService>(repo => Analyze(dumpInfo, dumpFilePath, analysisWorkingDir, outgoingMessageTracer.GetDynatraceByteTag())); outgoingMessageTracer.SetVendorMessageId(jobId); }); }
public string GetDumpFilePath(DumpIdentifier id) { return(storage.GetDumpFilePath(id)); }