/** * Create a new instance of our command */ public AbstractElasticSearchFilter(final EntityIndexFactory entityIndexFactory, final MetricsFactory metricsFactory, final IndexLocationStrategyFactory indexLocationStrategyFactory, final String query, boolean analyzeOnly, boolean returnQuery) { this.entityIndexFactory = entityIndexFactory; this.indexLocationStrategyFactory = indexLocationStrategyFactory; this.query = query; this.searchTimer = metricsFactory.getTimer( AbstractElasticSearchFilter.class, "query.search" ); this.analyzeOnly = analyzeOnly; this.returnQuery = returnQuery; }
@Override public Observable<String> getIdTypesFromSource( final SearchIdType search ) { final Observable<String> edgeTypes = Observable.create( new ObservableIterator<String>( "getIdTypesFromSource" ) { @Override protected Iterator<String> getIterator() { return edgeMetadataSerialization.getIdTypesFromSource( scope, search ); } } ); return ObservableTimer.time( edgeTypes, getIdTypesFromSourceTimer ); }
public EntitySerializer( final SerializationFig serializationFig, final MetricsFactory metricsFactory) { this.serializationFig = serializationFig; this.bytesOutHistorgram = metricsFactory.getHistogram(MvccEntitySerializationStrategyV3Impl.class, "bytes.out"); this.bytesOutTimer = metricsFactory.getTimer(MvccEntitySerializationStrategyV3Impl.class, "bytes.out"); this.bytesInHistorgram = metricsFactory.getHistogram(MvccEntitySerializationStrategyV3Impl.class, "bytes.in"); // mapper.enable(SerializationFeature.INDENT_OUTPUT); don't indent output, // causes slowness MAPPER.enableDefaultTypingAsProperty( ObjectMapper.DefaultTyping.JAVA_LANG_OBJECT, "@class" ); }
/** * Initializes the QueueListener. * @param smf * @param emf * @param props */ public QueueListener(ServiceManagerFactory smf, EntityManagerFactory emf, Injector injector, Properties props){ //TODO: change current injectors to use service module instead of CpSetup this.queueManagerFactory = injector.getInstance( LegacyQueueManagerFactory.class ); this.smf = smf; this.emf = injector.getInstance( EntityManagerFactory.class ); //emf; this.metricsService = injector.getInstance(MetricsFactory.class); this.properties = props; meter = metricsService.getMeter(QueueListener.class, "execute.commit"); timer = metricsService.getTimer(QueueListener.class, "execute.dequeue"); }
/** * Time the obserable with the specified timer */ public static <T> Observable<T> time( final Observable<T> observable, final Timer timer ) { final ObservableTimer proxy = new ObservableTimer( timer ); //attach to the observable return observable.doOnSubscribe( () -> proxy.start() ).doOnCompleted( () -> proxy.stop() ); } }
@Override public Timer getTimer(Class<?> klass, String name) { return getRegistry().timer(MetricRegistry.name(klass, name + ".timer")); }
public EntitySerializer( final SerializationFig serializationFig, final MetricsFactory metricsFactory) { this.serializationFig = serializationFig; // SimpleModule listModule = new SimpleModule("ListFieldModule", new Version(1, 0, 0, null,null,null)) // .addAbstractTypeMapping(ListField.class, ArrayField.class); // MAPPER.registerModule(listModule); // causes slowness MAPPER.enableDefaultTypingAsProperty( ObjectMapper.DefaultTyping.JAVA_LANG_OBJECT, "@class" ); this.bytesOutHistorgram = metricsFactory.getHistogram(MvccEntitySerializationStrategyV2Impl.class, "bytes.out"); this.bytesInHistorgram = metricsFactory.getHistogram(MvccEntitySerializationStrategyV2Impl.class, "bytes.in"); this.bytesOutTimer = metricsFactory.getTimer(MvccEntitySerializationStrategyV2Impl.class, "bytes.out"); }
@Inject public AggregationServiceImpl( final EntityIndexFactory entityIndexFactory, final IndexLocationStrategyFactory indexLocationStrategyFactory, final GraphManagerFactory graphManagerFactory, final MetricsFactory metricsFactory){ this.entityIndexFactory = entityIndexFactory; this.indexLocationStrategyFactory = indexLocationStrategyFactory; this.graphManagerFactory = graphManagerFactory; this.metricsFactory = metricsFactory; this.sumTimer = metricsFactory.getTimer(AggregationServiceImpl.class,"sum"); }
@Override public Observable<String> getEdgeTypesFromSource( final SearchEdgeType search ) { final Observable<String> edgeTypes = Observable.create( new ObservableIterator<String>( "getEdgeTypesFromSource" ) { @Override protected Iterator<String> getIterator() { return edgeMetadataSerialization.getEdgeTypesFromSource( scope, search ); } } ); return ObservableTimer.time( edgeTypes, getEdgeTypesFromSourceTimer ); }
@Override public Meter getMeter(Class<?> klass, String name) { return getRegistry().meter(MetricRegistry.name(klass, name + ".meter")); }
@Inject public VersionCompact( final MvccLogEntrySerializationStrategy logEntrySerializationStrategy, final SerializationFig serializationFig, final Keyspace keyspace, final MetricsFactory metricsFactory, final MvccEntitySerializationStrategy mvccEntitySerializationStrategy ) { this.logEntrySerializationStrategy = logEntrySerializationStrategy; this.serializationFig = serializationFig; this.keyspace = keyspace; this.mvccEntitySerializationStrategy = mvccEntitySerializationStrategy; this.compactTimer = metricsFactory.getTimer( VersionCompact.class, "version.compact" ); }
@Override public Observable<String> getEdgeTypesToTarget( final SearchEdgeType search ) { final Observable<String> edgeTypes = Observable.create( new ObservableIterator<String>( "getEdgeTypesToTarget" ) { @Override protected Iterator<String> getIterator() { return edgeMetadataSerialization.getEdgeTypesToTarget( scope, search ); } } ); return ObservableTimer.time( edgeTypes, getEdgeTypesToTargetTimer ); }
@Override public Counter getCounter(Class<?> klass, String name) { return getRegistry().counter(MetricRegistry.name(klass, name + ".counter")); }
@Inject public UniqueCleanup( final SerializationFig serializationFig, final UniqueValueSerializationStrategy uniqueValueSerializationStrategy, final Keyspace keyspace, final MetricsFactory metricsFactory, final Session session ) { this.serializationFig = serializationFig; this.uniqueValueSerializationStrategy = uniqueValueSerializationStrategy; this.keyspace = keyspace; this.uniqueCleanupTimer = metricsFactory.getTimer( UniqueCleanup.class, "uniquecleanup.base" ); this.session = session; }
@Override public Observable<String> getIdTypesToTarget( final SearchIdType search ) { final Observable<String> edgeTypes = Observable.create( new ObservableIterator<String>( "getIdTypesToTarget" ) { @Override protected Iterator<String> getIterator() { return edgeMetadataSerialization.getIdTypesToTarget( scope, search ); } } ); return ObservableTimer.time( edgeTypes, getIdTypesToTargetTimer ); }
@Override public void addGauge(final Class<?> clazz, final String name, final Gauge<?> gauge) { this.getRegistry().register(MetricRegistry.name(clazz, name), gauge); }
@Inject public IndexServiceImpl( final GraphManagerFactory graphManagerFactory, final EntityIndexFactory entityIndexFactory, final MapManagerFactory mapManagerFactory, final CollectionSettingsFactory collectionSettingsFactory, final EdgesObservable edgesObservable, final IndexFig indexFig, final IndexLocationStrategyFactory indexLocationStrategyFactory, final MetricsFactory metricsFactory ) { this.graphManagerFactory = graphManagerFactory; this.entityIndexFactory = entityIndexFactory; this.mapManagerFactory = mapManagerFactory; this.edgesObservable = edgesObservable; this.indexFig = indexFig; this.indexLocationStrategyFactory = indexLocationStrategyFactory; this.collectionSettingsFactory = collectionSettingsFactory; this.indexTimer = metricsFactory.getTimer( IndexServiceImpl.class, "index.update_all"); this.addTimer = metricsFactory.getTimer( IndexServiceImpl.class, "index.add" ); }
@Override public Observable<VersionSet> getLatestVersion( final Collection<Id> entityIds ) { final Observable<VersionSet> observable = Observable.create( new Observable.OnSubscribe<VersionSet>() { @Override public void call( final Subscriber<? super VersionSet> subscriber ) { try { final VersionSet logEntries = mvccLogEntrySerializationStrategy .load( applicationScope, entityIds, UUIDGenerator.newTimeUUID() ); subscriber.onNext( logEntries ); subscriber.onCompleted(); } catch ( Exception e ) { subscriber.onError( e ); } } } ); return ObservableTimer.time( observable, getLatestTimer ); }
@Override public Histogram getHistogram(Class<?> klass, String name) { return getRegistry().histogram(MetricRegistry.name(klass, name + ".histogram")); }
@Override public Observable<EntitySet> load( final Collection<Id> entityIds ) { Preconditions.checkNotNull( entityIds, "entityIds cannot be null" ); final Observable<EntitySet> entitySetObservable = Observable.create( new Observable.OnSubscribe<EntitySet>() { @Override public void call( final Subscriber<? super EntitySet> subscriber ) { try { final EntitySet results = entitySerializationStrategy.load( applicationScope, entityIds, UUIDGenerator.newTimeUUID() ); subscriber.onNext( results ); subscriber.onCompleted(); } catch ( Exception e ) { subscriber.onError( e ); } } } ); return ObservableTimer.time( entitySetObservable, loadTimer ); }