Git Product home page Git Product logo

qd's People

Contributors

tsitelov avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

qd's Issues

Cannot build Project - artifact not found in dxfeed.jfrog.io

When trying to build the project from scratch, it looks like the dxfeed.jfrog.io does not contain jmxtools.
Even when I set versions to 1.2 and 1.2.1 that are immediately available in public maven repos (public maven repository - https://mvnrepository.com/artifact/com.sun.jdmk/jmxtools/1.2.1), no luck.

Build also couldn't locate the specific version 1.2_8 or 1.2.8 as found in links, respectively:

Logging: more friendly API for custom encoding of log message

In order to log sanitisation, we need to modify log messages. For instance, replace '\n' symbol to '\n'.
I'd like to delegate this work to dxLib DetailedLogLayout and LogFormatter classes.
LogFormatter.format public method uses LogFormatter.STRING_FORMAT_CONSUMER lambda for log msg encoding but I don't see any conventional way to override this field initialisation.
So to achieve my goal, I need to

  • extend LogFormatter class and locate it in com.devexperts.logging package.
  • in this custom-LogFormatter, I need to override LogFormatter.format package-visible method where I would be able to use my own Msg encoder instead of default one.
  • extend DetailedLogLayout class for using custom-LogFormatter

This seems too difficult for such a general needs.
Could you pls provide more friendly API for custom encoding.

QD monitoring: getting CollectorCounters for striped collector

Hi team.
Class com.devexperts.qd.impl.matrix.Collector has method getCountersSinceStart that returns CollectorCounters. These counters are very useful and help understand QDS usage.
But working with striped collector, receiving these counters becomes not a trivial task and requires creation utility class in com.devexperts.qd.impl.stripe package.

I wonder if QDS library can provide some public monitoring API covering this functionality and supporting both regular and striped collectors.

PS: QDS internal com.devexperts.qd.monitoring.MonitoredQDEndpoint also does not support striped collectors. Method logCollectorCounters checks collector instanceof Collector class. StripedCollector fails this check.

private void logCollectorCounters() {
        for (QDContract contract : QDContract.values()) {
            QDCollector collector = getCollector(contract);
            if (!(collector instanceof Collector))
                continue;

            ... // print CollectorCounters
        }
    }

QD monitoring: QDStats graph is broken for striped collector

Hi team.

In our application we have several StripedCollectors and we'd like to aggregate their monitoring info in a single QDStats instance.
Noticed the following issues (see attached debug screenshots):

  1. during creation a stripe, its stat is added twice to StripedCollector stat. 1  duplicates
  2. if I create second StripedCollector, then stripe stats of this collector are added to first StripedCollector. 2  wrong_parent

Logging: support lazy construction of message

A frequent pattern of using com.devexperts.logging.Logging#debug(java.lang.String) is (example from dxfeed-api/src/main/java/com/dxfeed/ipf/live/InstrumentProfileCollector.java):

if (log.debugEnabled())
    log.debug("Removing " + debugString(entry.ip));

โ€” this is supposedly done to avoid resource-intensive computation of message, which is justified, but can be considered boilerplate.

Raw log4j2 addresses this by providing lambda-accepting methods such as org.apache.logging.log4j.Logger#debug(org.apache.logging.log4j.util.Supplier<?>). It would be nice if com.devexperts.logging.Logging supported this as well.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.