コード例 #1
0
 /// <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;
 }
コード例 #2
0
        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);
        }
コード例 #3
0
        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;
        }
コード例 #4
0
ファイル: LinearTracers.cs プロジェクト: Neo4Net/Neo4Net
 internal LinearTracers(LinearHistoryPageCacheTracer pageCacheTracer, PageCursorTracerSupplier cursorTracerSupplier, LinearHistoryTracer tracer)
 {
     this._pageCacheTracer      = pageCacheTracer;
     this._cursorTracerSupplier = cursorTracerSupplier;
     this._tracer = tracer;
 }
コード例 #5
0
ファイル: BatchingNeoStores.cs プロジェクト: Neo4Net/Neo4Net
 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);
 }
コード例 #6
0
        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));
        }
コード例 #7
0
 public virtual Builder WithPageCursorTracerSupplier(PageCursorTracerSupplier cursorTracerSupplier)
 {
     this.PageCursorTracerSupplier = cursorTracerSupplier;
     return(this);
 }
コード例 #8
0
        /// <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);
        }