Search in sources :

Example 11 with Synchronized

use of lombok.Synchronized in project pravega by pravega.

the class StatsProviderImpl method start.

@Synchronized
@Override
public void start() {
    init();
    if (conf.isEnableCSVReporter()) {
        // NOTE:  metrics output files are exclusive to a given process
        File outdir;
        if (!Strings.isNullOrEmpty(conf.getMetricsPrefix())) {
            outdir = new File(conf.getCsvEndpoint(), conf.getMetricsPrefix());
        } else {
            outdir = new File(conf.getCsvEndpoint());
        }
        outdir.mkdirs();
        log.info("Configuring stats with csv output to directory [{}]", outdir.getAbsolutePath());
        reporters.add(CsvReporter.forRegistry(getMetrics()).convertRatesTo(TimeUnit.SECONDS).convertDurationsTo(TimeUnit.MILLISECONDS).build(outdir));
    }
    if (conf.isEnableStatsdReporter()) {
        log.info("Configuring stats with statsD at {}:{}", conf.getStatsDHost(), conf.getStatsDPort());
        reporters.add(StatsDReporter.forRegistry(getMetrics()).build(conf.getStatsDHost(), conf.getStatsDPort()));
    }
    if (conf.isEnableGraphiteReporter()) {
        log.info("Configuring stats with graphite at {}:{}", conf.getGraphiteHost(), conf.getGraphitePort());
        final Graphite graphite = new Graphite(new InetSocketAddress(conf.getGraphiteHost(), conf.getGraphitePort()));
        reporters.add(GraphiteReporter.forRegistry(getMetrics()).prefixedWith(conf.getMetricsPrefix()).convertRatesTo(TimeUnit.SECONDS).convertDurationsTo(TimeUnit.MILLISECONDS).filter(MetricFilter.ALL).build(graphite));
    }
    if (conf.isEnableJMXReporter()) {
        log.info("Configuring stats with jmx {}", conf.getJmxDomain());
        final JmxReporter jmx = JmxReporter.forRegistry(getMetrics()).inDomain(conf.getJmxDomain()).convertRatesTo(TimeUnit.SECONDS).convertDurationsTo(TimeUnit.MILLISECONDS).build();
        jmx.start();
    }
    if (conf.isEnableGangliaReporter()) {
        try {
            log.info("Configuring stats with ganglia at {}:{}", conf.getGangliaHost(), conf.getGangliaPort());
            final GMetric ganglia = new GMetric(conf.getGangliaHost(), conf.getGangliaPort(), GMetric.UDPAddressingMode.MULTICAST, 1);
            reporters.add(GangliaReporter.forRegistry(getMetrics()).prefixedWith(conf.getMetricsPrefix()).convertRatesTo(TimeUnit.SECONDS).convertDurationsTo(TimeUnit.MILLISECONDS).build(ganglia));
        } catch (IOException e) {
            log.warn("ganglia create failure: {}", e);
        }
    }
    if (conf.isEnableConsoleReporter()) {
        log.info("Configuring console reporter");
        reporters.add(ConsoleReporter.forRegistry(getMetrics()).convertRatesTo(TimeUnit.SECONDS).convertDurationsTo(TimeUnit.MILLISECONDS).build());
    }
    for (ScheduledReporter r : reporters) {
        r.start(conf.getStatsOutputFrequencySeconds(), TimeUnit.SECONDS);
    }
}
Also used : GMetric(info.ganglia.gmetric4j.gmetric.GMetric) InetSocketAddress(java.net.InetSocketAddress) Graphite(com.codahale.metrics.graphite.Graphite) IOException(java.io.IOException) ScheduledReporter(com.codahale.metrics.ScheduledReporter) File(java.io.File) JmxReporter(com.codahale.metrics.JmxReporter) Synchronized(lombok.Synchronized)

Example 12 with Synchronized

use of lombok.Synchronized in project cas by apereo.

the class SamlRegisteredServiceMetadataResolverCacheLoader method load.

@Override
@Synchronized
@SneakyThrows
public ChainingMetadataResolver load(final SamlRegisteredService service) {
    final ChainingMetadataResolver metadataResolver = new ChainingMetadataResolver();
    final List<MetadataResolver> metadataResolvers = new ArrayList<>();
    final Collection<SamlRegisteredServiceMetadataResolver> availableResolvers = this.metadataResolutionPlan.getRegisteredMetadataResolvers();
    availableResolvers.stream().filter(Objects::nonNull).filter(r -> r.supports(service)).map(r -> r.resolve(service)).forEach(metadataResolvers::addAll);
    if (metadataResolvers.isEmpty()) {
        throw new SamlException("No metadata resolvers could be configured for service " + service.getName() + " with metadata location " + service.getMetadataLocation());
    }
    metadataResolver.setId(ChainingMetadataResolver.class.getCanonicalName());
    metadataResolver.setResolvers(metadataResolvers);
    metadataResolver.initialize();
    LOGGER.debug("Metadata resolvers active for this request are [{}]", metadataResolver);
    return metadataResolver;
}
Also used : Synchronized(lombok.Synchronized) CacheLoader(com.github.benmanes.caffeine.cache.CacheLoader) SneakyThrows(lombok.SneakyThrows) HttpClient(org.apereo.cas.util.http.HttpClient) Collection(java.util.Collection) SamlRegisteredServiceMetadataResolutionPlan(org.apereo.cas.support.saml.services.idp.metadata.plan.SamlRegisteredServiceMetadataResolutionPlan) MetadataResolver(org.opensaml.saml.metadata.resolver.MetadataResolver) ArrayList(java.util.ArrayList) OpenSamlConfigBean(org.apereo.cas.support.saml.OpenSamlConfigBean) SamlRegisteredServiceMetadataResolver(org.apereo.cas.support.saml.services.idp.metadata.cache.resolver.SamlRegisteredServiceMetadataResolver) Objects(java.util.Objects) Slf4j(lombok.extern.slf4j.Slf4j) List(java.util.List) SamlRegisteredService(org.apereo.cas.support.saml.services.SamlRegisteredService) SamlException(org.apereo.cas.support.saml.SamlException) ChainingMetadataResolver(org.opensaml.saml.metadata.resolver.ChainingMetadataResolver) AllArgsConstructor(lombok.AllArgsConstructor) ChainingMetadataResolver(org.opensaml.saml.metadata.resolver.ChainingMetadataResolver) SamlRegisteredServiceMetadataResolver(org.apereo.cas.support.saml.services.idp.metadata.cache.resolver.SamlRegisteredServiceMetadataResolver) ArrayList(java.util.ArrayList) SamlException(org.apereo.cas.support.saml.SamlException) MetadataResolver(org.opensaml.saml.metadata.resolver.MetadataResolver) SamlRegisteredServiceMetadataResolver(org.apereo.cas.support.saml.services.idp.metadata.cache.resolver.SamlRegisteredServiceMetadataResolver) ChainingMetadataResolver(org.opensaml.saml.metadata.resolver.ChainingMetadataResolver) Synchronized(lombok.Synchronized) SneakyThrows(lombok.SneakyThrows)

Example 13 with Synchronized

use of lombok.Synchronized in project pravega by pravega.

the class S3ProxyImpl method putObject.

@Synchronized
@Override
public void putObject(String bucketName, String key, Range range, Object content) {
    byte[] totalByes = new byte[Math.toIntExact(range.getLast() + 1)];
    try {
        if (range.getFirst() != 0) {
            int bytesRead = client.getObject(bucketName, key).getObject().read(totalByes, 0, Math.toIntExact(range.getFirst()));
            if (bytesRead != range.getFirst()) {
                throw new IllegalStateException("Unable to read from the object " + key);
            }
        }
        int bytesRead = ((InputStream) content).read(totalByes, Math.toIntExact(range.getFirst()), Math.toIntExact(range.getLast() + 1 - range.getFirst()));
        if (bytesRead != range.getLast() + 1 - range.getFirst()) {
            throw new IllegalStateException("Not able to read from input stream.");
        }
        client.putObject(new PutObjectRequest(bucketName, key, (Object) new ByteArrayInputStream(totalByes)));
        aclMap.put(key, aclMap.get(key).withSize(range.getLast() - 1));
    } catch (IOException e) {
        throw new S3Exception("NoObject", HttpStatus.SC_NOT_FOUND, "NoSuchKey", key);
    }
}
Also used : ByteArrayInputStream(java.io.ByteArrayInputStream) ByteArrayInputStream(java.io.ByteArrayInputStream) InputStream(java.io.InputStream) S3Exception(com.emc.object.s3.S3Exception) IOException(java.io.IOException) PutObjectRequest(com.emc.object.s3.request.PutObjectRequest) Synchronized(lombok.Synchronized)

Example 14 with Synchronized

use of lombok.Synchronized in project pravega by pravega.

the class StatsProviderImpl method init.

@Synchronized
private void init() {
    // I'm not entirely sure that re-inserting is necessary, but given that
    // at this point we are preserving the registry, it seems safer to remove
    // and re-insert.
    MemoryUsageGaugeSet memoryGaugeNames = new MemoryUsageGaugeSet();
    GarbageCollectorMetricSet gcMetricSet = new GarbageCollectorMetricSet();
    memoryGaugeNames.getMetrics().forEach((key, value) -> metrics.remove(key));
    gcMetricSet.getMetrics().forEach((key, value) -> metrics.remove(key));
    metrics.registerAll(new MemoryUsageGaugeSet());
    metrics.registerAll(new GarbageCollectorMetricSet());
}
Also used : MemoryUsageGaugeSet(com.codahale.metrics.jvm.MemoryUsageGaugeSet) GarbageCollectorMetricSet(com.codahale.metrics.jvm.GarbageCollectorMetricSet) Synchronized(lombok.Synchronized)

Example 15 with Synchronized

use of lombok.Synchronized in project pravega by pravega.

the class StatsProviderImpl method close.

@Synchronized
@Override
public void close() {
    for (ScheduledReporter r : reporters) {
        try {
            r.report();
            r.stop();
        } catch (Exception e) {
            log.error("Exception report or stop reporter", e);
        }
    }
    metrics.removeMatching(MetricFilter.ALL);
}
Also used : ScheduledReporter(com.codahale.metrics.ScheduledReporter) IOException(java.io.IOException) Synchronized(lombok.Synchronized)

Aggregations

Synchronized (lombok.Synchronized)22 IOException (java.io.IOException)6 Segment (io.pravega.client.segment.impl.Segment)4 ArrayList (java.util.ArrayList)4 S3Exception (com.emc.object.s3.S3Exception)3 CreateSegment (io.pravega.shared.protocol.netty.WireCommands.CreateSegment)3 DeleteSegment (io.pravega.shared.protocol.netty.WireCommands.DeleteSegment)3 ScheduledReporter (com.codahale.metrics.ScheduledReporter)2 Stream (io.pravega.client.stream.Stream)2 StreamImpl (io.pravega.client.stream.impl.StreamImpl)2 PravegaNodeUri (io.pravega.shared.protocol.netty.PravegaNodeUri)2 ByteArrayInputStream (java.io.ByteArrayInputStream)2 InputStream (java.io.InputStream)2 ByteBuffer (java.nio.ByteBuffer)2 FileChannel (java.nio.channels.FileChannel)2 Path (java.nio.file.Path)2 SneakyThrows (lombok.SneakyThrows)2 PersistentNode (org.apache.curator.framework.recipes.nodes.PersistentNode)2 ChainingMetadataResolver (org.opensaml.saml.metadata.resolver.ChainingMetadataResolver)2 JmxReporter (com.codahale.metrics.JmxReporter)1