/// <summary> /// Adds the actual .dmp file from sourcePath to the repo+storage /// Does NOT start analysis /// </summary> /// <returns></returns> public async Task <DumpMetainfo> CreateDump(string bundleId, FileInfo sourcePath) { DumpMetainfo dumpInfo; string dumpId; dumpId = CreateUniqueDumpId(); dumpInfo = new DumpMetainfo() { BundleId = bundleId, DumpId = dumpId, DumpFileName = Utility.MakeRelativePath(pathHelper.GetUploadsDir(), sourcePath), DumpType = DetermineDumpType(sourcePath), Created = DateTime.Now, Status = DumpStatus.Created }; if (!dumps.ContainsKey(bundleId)) { dumps[bundleId] = new ConcurrentDictionary <string, DumpMetainfo>(); } dumps[bundleId][dumpId] = dumpInfo; storage.Create(dumpInfo.Id); FileInfo destFile = await storage.AddFileCopy(dumpInfo.Id, sourcePath); AddSDFile(dumpInfo.Id, destFile.Name, SDFileType.PrimaryDump); return(dumpInfo); }
public DumpMetainfo CreateDumpMetainfo(string bundleId) { DumpMetainfo dumpInfo; string dumpId; dumpId = CreateUniqueDumpId(); dumpInfo = new DumpMetainfo() { BundleId = bundleId, DumpId = dumpId, Created = DateTime.Now, Status = DumpStatus.Created }; if (settings.IsDumpRetentionEnabled()) { dumpInfo.PlannedDeletionDate = DateTime.Now + TimeSpan.FromDays(settings.DumpRetentionDays); } if (!dumps.ContainsKey(bundleId)) { dumps[bundleId] = new ConcurrentDictionary <string, DumpMetainfo>(); } dumps[bundleId][dumpId] = dumpInfo; storage.Create(dumpInfo.Id); return(dumpInfo); }