/// <summary> /// Cursor factory construction </summary> /// <param name="pagedFile"> paged file for which cursor is created </param> /// <param name="pageCursorTracerSupplier"> supplier of thread local (transaction local) page cursor tracers that will /// provide thread local page cache statistics </param> /// <param name="pageCacheTracer"> global page cache tracer </param> /// <param name="versionContextSupplier"> version context supplier </param> internal CursorFactory(MuninnPagedFile pagedFile, PageCursorTracerSupplier pageCursorTracerSupplier, PageCacheTracer pageCacheTracer, VersionContextSupplier versionContextSupplier) { this._pagedFile = pagedFile; this._victimPage = pagedFile.PageCache.victimPage; this._pageCursorTracerSupplier = pageCursorTracerSupplier; this._pageCacheTracer = pageCacheTracer; this._versionContextSupplier = versionContextSupplier; }
private PageCache CreatePageCache(FileSystemAbstraction fs, PageCacheConfig pageCacheConfig, Config config) { PageCacheTracer tracer = SelectConfig(BaseConfig.tracer, pageCacheConfig.Tracer, PageCacheTracer.NULL); PageCursorTracerSupplier cursorTracerSupplier = SelectConfig(BaseConfig.pageCursorTracerSupplier, pageCacheConfig.PageCursorTracerSupplier, Org.Neo4j.Io.pagecache.tracing.cursor.PageCursorTracerSupplier_Fields.Null); config.AugmentDefaults(GraphDatabaseSettings.pagecache_memory, "8M"); FormattedLogProvider logProvider = FormattedLogProvider.toOutputStream(System.err); InitializeJobScheduler(); ConfiguringPageCacheFactory pageCacheFactory = new ConfiguringPageCacheFactory(fs, config, tracer, cursorTracerSupplier, logProvider.GetLog(typeof(PageCache)), EmptyVersionContextSupplier.EMPTY, JobScheduler); return(pageCacheFactory.OrCreatePageCache); }
private PageCacheStressTest(Builder builder) { this._numberOfPages = builder.NumberOfPages; this._numberOfThreads = builder.NumberOfThreads; this._numberOfCachePages = builder.NumberOfCachePages; this._tracer = builder.Tracer; this._pageCursorTracerSupplier = builder.PageCursorTracerSupplier; this._condition = builder.Condition; this._workingDirectory = builder.WorkingDirectory; }
internal LinearTracers(LinearHistoryPageCacheTracer pageCacheTracer, PageCursorTracerSupplier cursorTracerSupplier, LinearHistoryTracer tracer) { this._pageCacheTracer = pageCacheTracer; this._cursorTracerSupplier = cursorTracerSupplier; this._tracer = tracer; }
private static PageCache CreatePageCache(FileSystemAbstraction fileSystem, Config config, LogProvider log, PageCacheTracer tracer, PageCursorTracerSupplier cursorTracerSupplier, VersionContextSupplier contextSupplier, JobScheduler jobScheduler) { return((new ConfiguringPageCacheFactory(fileSystem, config, tracer, cursorTracerSupplier, log.GetLog(typeof(BatchingNeoStores)), contextSupplier, jobScheduler)).OrCreatePageCache); }
public override MuninnPageCache CreatePageCache(PageSwapperFactory swapperFactory, int maxPages, PageCacheTracer tracer, PageCursorTracerSupplier cursorTracerSupplier, VersionContextSupplier contextSupplier, JobScheduler jobScheduler) { long memory = MuninnPageCache.MemoryRequiredForPages(maxPages); _allocator = MemoryAllocator.createAllocator(memory.ToString(), new LocalMemoryTracker()); return(new MuninnPageCache(swapperFactory, _allocator, tracer, cursorTracerSupplier, contextSupplier, jobScheduler)); }
public virtual Builder WithPageCursorTracerSupplier(PageCursorTracerSupplier cursorTracerSupplier) { this.PageCursorTracerSupplier = cursorTracerSupplier; return(this); }
/// <summary> /// Create page cache </summary> /// <param name="fileSystem"> file system that page cache will be based on </param> /// <param name="pageCacheTracer"> global page cache tracer </param> /// <param name="pageCursorTracerSupplier"> supplier of thread local (transaction local) page cursor tracer that will provide /// thread local page cache statistics </param> /// <param name="config"> page cache configuration </param> /// <param name="versionContextSupplier"> version context supplier </param> /// <param name="jobScheduler"> page cache job scheduler </param> /// <returns> created page cache instance </returns> public static PageCache CreatePageCache(FileSystemAbstraction fileSystem, PageCacheTracer pageCacheTracer, PageCursorTracerSupplier pageCursorTracerSupplier, Config config, VersionContextSupplier versionContextSupplier, JobScheduler jobScheduler) { config.AugmentDefaults(GraphDatabaseSettings.pagecache_memory, "8M"); ZoneId logTimeZone = config.Get(GraphDatabaseSettings.db_timezone).ZoneId; FormattedLogProvider logProvider = FormattedLogProvider.withZoneId(logTimeZone).toOutputStream(System.err); ConfiguringPageCacheFactory pageCacheFactory = new ConfiguringPageCacheFactory(fileSystem, config, pageCacheTracer, pageCursorTracerSupplier, logProvider.GetLog(typeof(PageCache)), versionContextSupplier, jobScheduler); return(pageCacheFactory.OrCreatePageCache); }