/// <summary>
 /// Initializes a new instance of the <see cref="DefaultObjectEnumerationFacade"/> class.
 /// </summary>
 /// <param name="clrObjectEnumerator">The color object enumerator.</param>
 /// <param name="filteredObjectsProvider">The filtered objects provider.</param>
 public DefaultObjectEnumerationFacade(IEnumerateClrObjectsFromClrRuntime clrObjectEnumerator, IFilteredObjectsProvider filteredObjectsProvider)
 {
     Contract.Requires(clrObjectEnumerator != null, nameof(clrObjectEnumerator));
     Contract.Requires(filteredObjectsProvider != null, nameof(filteredObjectsProvider));
     this.ClrObjectEnumerator     = clrObjectEnumerator;
     this.FilteredObjectsProvider = filteredObjectsProvider;
 }
        public static IEnumerable <ClrObject> EnumerateObjects(this IEnumerateClrObjectsFromClrRuntime objectEnumerator, IMemoryDumpConnectionPath connectionDetails, IClrRuntimeFactory factory)
        {
            var runtime = factory.BuildClrRuntime(connectionDetails);

            return(objectEnumerator.EnumerateObjectsFromSource(runtime));
        }
 public static IEnumerable <ClrObject> EnumerateObjects(this IEnumerateClrObjectsFromClrRuntime objectEnumerator, IMemoryDumpConnectionPath connectionDetails)
 {
     return(IEnumerateClrObjectsFromClrRuntimeExtensions.EnumerateObjects(objectEnumerator, connectionDetails, MDClrRuntimeFactory.Instance));
 }
 public static IEnumerable <ClrObject> EnumerateObjects(this IEnumerateClrObjectsFromClrRuntime objectEnumerator, string pathToMemoryDump, string pathToMsCord)
 {
     return(IEnumerateClrObjectsFromClrRuntimeExtensions.EnumerateObjects(objectEnumerator, new MDFileConnection(pathToMemoryDump, pathToMsCord)));
 }
        protected virtual IEnumerable <ClrObject> ExtractObjectsFromRuntime([NotNull] ClrRuntime ds, [NotNull] IEnumerateClrObjectsFromClrRuntime clrClrObjectEnumerator)
        {
            Assert.ArgumentNotNull(ds, "ClrRuntime");
            Assert.ArgumentNotNull(clrClrObjectEnumerator, "ClrObject enumerator must be set before enumeration begins.");

            return(clrClrObjectEnumerator.EnumerateObjectsFromSource(ds).Where(this.MatchesExtractCriteria));
        }
        public IEnumerable <ClrObject> ExtractFromRuntime([CanBeNull] ClrRuntime runtime, [NotNull] IEnumerateClrObjectsFromClrRuntime clrObjectEnumerator)
        {
            if (runtime == null)
            {
                return(new ClrObject[0]);
            }

            IEnumerable <ClrObject> result = this.ExtractObjectsFromRuntime(runtime, clrObjectEnumerator);

            return(result ?? new ClrObject[0]);
        }
Ejemplo n.º 7
0
 public RequestsGroupedByAnalyticsCookie(IEnumerateClrObjectsFromClrRuntime objectEnumerator, IFilteredObjectsProvider filter)
 {
     ObjectEnumerator = objectEnumerator;
     ObjectFilter     = filter;
 }
Ejemplo n.º 8
0
 public RequestsGroupedByAnalyticsCookie(IEnumerateClrObjectsFromClrRuntime objectEnumerator) : this(objectEnumerator, new FilteredObjectProviderByTypeName(typeof(HttpContext)))
 {
 }
        protected override IEnumerable <ClrObject> ExtractObjectsFromRuntime(ClrRuntime ds, IEnumerateClrObjectsFromClrRuntime clrClrObjectEnumerator)
        {
            this.EnsureInitialized(ds);

            return(base.ExtractObjectsFromRuntime(ds, clrClrObjectEnumerator));
        }
 protected override sealed IEnumerable <ClrObject> ExtractObjectsFromRuntime([CanBeNull] ClrRuntime ds, [NotNull] IEnumerateClrObjectsFromClrRuntime clrClrObjectEnumerator)
 {
     try
     {
         this.readingInProgress = true;
         return(this.ExtractObjectsFromRuntimeWrapped(ds, clrClrObjectEnumerator));
     }
     finally
     {
         this.readingInProgress = false;
     }
 }
        protected virtual IEnumerable <ClrObject> ExtractObjectsFromRuntimeWrapped([CanBeNull] ClrRuntime runtime, [NotNull] IEnumerateClrObjectsFromClrRuntime clrClrObjectEnumerator)
        {
            if (runtime == null)
            {
                yield break;
            }

            this.InitSearchedType(runtime.GetHeap());

            foreach (ClrObject c in base.ExtractObjectsFromRuntime(runtime, clrClrObjectEnumerator))
            {
                yield return(c);
            }
        }
Ejemplo n.º 12
0
 public RequestsThatBeingProcessed()
 {
     ObjectEnumerator = new HeapBasedClrObjectEnumerator();
     ObjectFilter     = new FilteredObjectProviderByTypeName("System.Web.ThreadContext");
 }