2015-10-06 3 views
1

Я новичок в гидролокаторе и пытаюсь закодировать плагин. При попытке работать со стандартным пробным плагином, я могу напечатать значение, хранящееся в метрике «случайный», но что метрика «сообщение» не видна в виджетах панели инструментов. Также ключом для этой метрики был «message_key» в SampleMetrics и «message» в файле erb виджета. Я изменил их, чтобы они были такими же, но все же это не видно. Но если я попытаюсь отобразить описание обоих показателей, то они будут видны. Вот необходимый код:Значение измерения, которое не отображается на виджетах панели инструментов

В SampleMetrics файле:

public static final Metric MESSAGE = new Metric("message", "Message", 
    "This is a metric to store a well known message", Metric.ValueType.STRING, -1, false, 
    CoreMetrics.DOMAIN_GENERAL); 


    public static final Metric RANDOM = new Metric("random", "Random", 
    "Random value", Metric.ValueType.FLOAT, Metric.DIRECTION_BETTER, false, 
    CoreMetrics.DOMAIN_GENERAL); 

* 

В SampleSensor файле:

public class SampleSensor implements Sensor { 

    public boolean shouldExecuteOnProject(Project project) { 
    // this sensor is executed on any type of project 
    return true; 
    } 

    public void analyse(Project project, SensorContext sensorContext) { 
    saveLabelMeasure(sensorContext); 
    saveNumericMeasure(sensorContext); 
    } 

    private void saveNumericMeasure(SensorContext context) { 
    // Sonar API includes many libraries like commons-lang and google-collections 
    context.saveMeasure(SampleMetrics.RANDOM, RandomUtils.nextDouble()); 
    } 

    private void saveLabelMeasure(SensorContext context) { 
    Measure measure = new Measure(SampleMetrics.MESSAGE, "Hello World!"); 
    context.saveMeasure(measure); 
    } 
} 

В sample_dashboard_widget.html.erb файле:

<div class="dashbox"> 
    <h3><span><%= metric('message').description -%></span></h3> 
    <h3><span><%= metric('random').description -%></span></h3> 
    <p> 
    <span class="big"> 
     <%= format_measure('random') -%> <%= tendency_icon(measure('random')) %> 
    </span> 
    </p> 
    <p><%= format_measure('message') -%></p> 
</div> 

Может кто-нибудь предложите мне, какой шаг мне не хватает при получении показателя метрики сообщения значение, напечатанное на виджетах? Спасибо!

ответ

0

Я попробовал это с моей тест-виджета и не было никаких проблем:

<p><%= format_measure('my_key') -%></p> 

Показан строковое значение метрики. Я не мог найти ошибки в вашем примере кода. Вы уверены, что метрики написаны? Взгляните в журналы и, возможно, добавьте некоторый log-вывод.

Вы можете также показать значение метрики с этим:

<%= @snapshot.measure('my_key').formatted_value -%>