Найдено результатов: 6

Если у вас есть приложение Java, которое потребляет CPU, когда оно ничего не делает, как вы определяете, что оно делает?

Я вызываю поставщика Java API, и на некоторых серверах кажется, что JVM переходит в цикл опроса с низким приоритетом после входа в API (CPU при использовании 100%). То же самое приложение на других серверах не проявляет такого поведения. Это происходит на WebSphere и Tomcat. Окружение сложно настроить, поэтому трудно попытаться сделать что-то вроде профилирования в Eclipse.

Есть ли способ профилировать (или какой-то другой метод проверки) существующее приложение Java, работающее в Tomcat, чтобы узнать, какие методы выполняются, пока оно находится в этом состоянии spinwait? Приложение выполняет только один метод, когда оно попадает в это состояние (метод поставщика). Поставщик не может повторить поведение (конечно).


Обновление:

Используя JConsole, я смог определить, кто бежит и что они делают. Мне потребовалось несколько часов, чтобы понять, почему он это делает. Проблема заключалась в том, что используемый поставщик API jar не соответствовал точно конфигурации базы данных, которую он использовал. Он по умолчанию включал отслеживание и мониторинг производительности на серверах, которые имели небольшое несоответствие в конфигурации. Я использовал другой jar и все хорошо.

Так что спасибо, Джошуа, за твой ответ. JConsole было чрезвычайно легко настроить и использовать для мониторинга существующего приложения.

@Cringe-я немного поэкспериментировал с некоторыми из предложенных вами вариантов. У меня были некоторые проблемы с настройкой JProfiler, это выглядит хорошо (но дорого). В дальнейшем я пошел дальше и добавил плагин Eclipse Profiler, и я буду просматривать различные профилировщики с открытым исходным кодом для сравнения функциональности.

java   profiling    

486   8   16:50, 24th August, 2020


JavaScript профилировщик в IE

Кто-нибудь знает инструмент для профилирования JavaScript в IE?

Список доступных:

javascript   performance   internet-explorer   profiling    

581   7   16:07, 12th August, 2020


Самый простой способ профилировать скрипт PHP

Какой самый простой способ профилировать скрипт PHP?

Я бы с удовольствием прикрепил что-то, что показывает мне дамп всех вызовов функций и сколько времени они заняли, но я также OK с размещением чего-то вокруг конкретных функций.

Я попробовал поэкспериментировать с функцией microtime :

$then = microtime();
myFunc();
$now = microtime();

echo sprintf("Elapsed:  %f", $now-$then);

но это иногда дает мне отрицательные результаты. К тому же это большая проблема, чтобы разбрызгать это по всему моему коду.

php   profiling    

601   12   03:57, 1st August, 2020


“rusage” статистика

Я пытаюсь использовать статистику “rusage” в своей программе, чтобы получить данные, аналогичные данным инструмента time . Однако я почти уверен, что делаю что-то не так. Значения кажутся правильными, но иногда могут быть немного странными. Я не нашел хороших ресурсов в интернете. Кто-нибудь знает, как сделать это лучше?

Извините за длинный код.

class StopWatch {
public:
    void start() {
        getrusage(RUSAGE_SELF, &m_begin);
        gettimeofday(&m_tmbegin, 0);
    }

    void stop() {
        getrusage(RUSAGE_SELF, &m_end);
        gettimeofday(&m_tmend, 0);
        timeval_sub(m_end.ru_utime, m_begin.ru_utime, m_diff.ru_utime);
        timeval_sub(m_end.ru_stime, m_begin.ru_stime, m_diff.ru_stime);
        timeval_sub(m_tmend, m_tmbegin, m_tmdiff);
    }

    void printf(std::ostream& out) const {
        using namespace std;

        timeval const& utime = m_diff.ru_utime;
        timeval const& stime = m_diff.ru_stime;

        format_time(out, utime);
        out << "u ";
        format_time(out, stime);
        out << "s ";
        format_time(out, m_tmdiff);
    }

private:
    rusage m_begin;
    rusage m_end;
    rusage m_diff;
    timeval m_tmbegin;
    timeval m_tmend;
    timeval m_tmdiff;

    static void timeval_add(timeval const& a, timeval const& b, timeval& ret) {
        ret.tv_usec = a.tv_usec + b.tv_usec;
        ret.tv_sec = a.tv_sec + b.tv_sec;
        if (ret.tv_usec > 999999) {
            ret.tv_usec -= 1000000;
            ++ret.tv_sec;
        }
    }

    static void timeval_sub(timeval const& a, timeval const& b, timeval& ret) {
        ret.tv_usec = a.tv_usec - b.tv_usec;
        ret.tv_sec = a.tv_sec - b.tv_sec;
        if (a.tv_usec < b.tv_usec) {
            ret.tv_usec += 1000000;
            --ret.tv_sec;
        }
    }

    static void format_time(std::ostream& out, timeval const& tv) {
        using namespace std;
        long usec = tv.tv_usec;
        while (usec >= 1000)
            usec /= 10;
        out << tv.tv_sec << '.' << setw(3) << setfill('0') << usec;
    }
}; // class StopWatch

c++   unix   time   profiling    

449   0   20:25, 28th August, 2020


Как профилировать приложение Maven в Netbeans?

У меня есть проект, использующий Maven 2 в качестве инструмента сборки. Теперь я использую Netbeans 6 как мой IDE и действительно хочу иметь возможность использовать профилировщик. Есть ли способ заставить это работать?

maven-2   netbeans   profiling   profiler    

554   1   20:58, 14th August, 2020


Какой ваш любимый инструмент профилирования (для C++)

До сих пор я использовал только рациональную количественную оценку. Я слышал много хорошего о Intel VTune, но никогда не пробовал его!

Edit: я в основном ищу программное обеспечение, которое будет измерять код, поскольку я думаю, что это единственный способ получить очень хорошие результаты.


Смотреть также:

Каковы некоторые хорошие профилировщики для native C++ на Windows?

c++   performance   profiling    

504   21   00:49, 16th August, 2020