private ObjectInfo ProcessInfo(Process proc) { var pipExePerf = Analyzer.TryGetPipExePerf(proc.PipId); return(new ObjectInfo(preview: PipPreview(proc), properties: new[] { new Property("PipId", proc.PipId.Value), new Property("PipType", proc.PipType), new Property("SemiStableHash", proc.SemiStableHash), new Property("Description", proc.GetDescription(PipGraph.Context)), new Property("ExecutionLevel", GetPipExecutionLevel(pipExePerf)), new Property("EXE", proc.Executable), new Property("CMD", Analyzer.RenderProcessArguments(proc)), new Property("Inputs", new ObjectInfo(properties: new[] { new Property("Files", proc.Dependencies.ToArray()), new Property("Directories", proc.DirectoryDependencies.ToArray()) })), new Property("Outputs", new ObjectInfo(properties: new[] { new Property("Files", proc.FileOutputs.ToArray()), new Property("Directories", proc.DirectoryOutputs.ToArray()) })), new Property("ExecutionPerformance", pipExePerf), new Property("MonitoringData", () => Analyzer.TryGetProcessMonitoringData(proc.PipId)), new Property("GenericInfo", () => GenericObjectInfo(proc, preview: "")) }.Concat(GetPipDownAndUpStreamProperties(proc)))); }
private ObjectInfo ProcessInfo(Process proc) { return(PipInfo(proc) .Preview(PipPreview(proc)) .Prop("EXE", () => proc.Executable) .Prop("CMD", () => Analyzer.RenderProcessArguments(proc)) .Prop("Inputs", new ObjectInfoBuilder() .Prop("Files", () => proc.Dependencies.ToArray()) .Prop("Directories", () => proc.DirectoryDependencies.ToArray()) .Build()) .Prop("Outputs", new ObjectInfoBuilder() .Prop("Files", () => proc.FileOutputs.ToArray()) .Prop("Directories", proc.DirectoryOutputs.ToArray()) .Build()) .Prop("ExecutionPerformance", () => Analyzer.TryGetPipExePerf(proc.PipId)) .Prop("ExecutionLevel", () => GetPipExecutionLevel(Analyzer.TryGetPipExePerf(proc.PipId))) .Prop("MonitoringData", () => Analyzer.TryGetProcessMonitoringData(proc.PipId)) .Prop("GenericInfo", () => GenericObjectInfo(proc, preview: "").Build()) .Build()); }