小编Vim*_*vam的帖子

微米计数器指标的动态标记值

新手在这里,试图了解有关千分尺的更多信息。我目前正在探索如何实现这一点:

我正在使用启用了执行器和千分尺的 Spring boot 2。考虑以下类:

@Component
class MyService {
  @Autowired
  AuthorizeTransaction callbackTransaction;

  @Autowired
  AuthorizeTransaction immediateTransaction;

  private MeterRegistry meterRegistry;
  private Counter requestCounter;
  private Counter responseCounter;

  public MyService(MeterRegistry meterRegistry) {
    this.meterRegistry = meterRegistry;
    initCounters();
  }

  private initCounters() {
    requestCounter = Counter.builder("iso_request")
                      .tags("mti", "0100")  // how do I change the value of this tag for other request types like 0200, 0120, etc.,
                      .register(meterRegistry);
    responseCounter = Counter.builder("iso_response")
                      .tags("mti", "0101")
                      .tags("response_code", "00") // how do I change the value of this tag for other response …
Run Code Online (Sandbox Code Playgroud)

java spring-boot-actuator micrometer prometheus-java

10
推荐指数
2
解决办法
6795
查看次数

将Mongoose对象保存为两个集合

目前我有一个节点应用程序,它使用mongoose将对象保存到MongoDB中.我使用的是类似的模型:

var mongoose = require('mongoose')
    , Schema = mongoose.Schema;

var RegistrationSchema = new Schema({
        name:{ type: String, default: '', trim: false}
});

mongoose.model('Registration', RegistrationSchema);
Run Code Online (Sandbox Code Playgroud)

这将我的对象保存到一个名为注册的集合中.

我保存我的注册:

var registration = new Registration(data);

      registration.save(function(err) {
        if (err) {
          return callback({
            source: 'data_save',
            type: 'admin',
            errors: err
          });
        }
        else {
          return callback(null, data);
        }
      });
Run Code Online (Sandbox Code Playgroud)

我还想在创建它时将这个相同的对象保存到另一个具有不同名称的集合中,例如registrations_new,或者那种效果.我想将此条目复制到新集合中.我试图添加其他集合连接字符串,它完全打破了蒙戈部分,我试图创建一个名为New_Registration新模式,加载模式,并尝试单独保存它,但我还有一个问题这一点.似乎Mongoose将模式与集合配对,并且实际上没有办法覆盖它保存的集合.

有人有任何解决方案吗?

mongoose mongodb node.js

6
推荐指数
1
解决办法
7683
查看次数

使用Jenkins写入工作区中的json文件

我有一个jenkins工作,几乎没有参数设置,我在工作区中有一个JSON文件,必须使用我通过jenkins的参数进行更新.

例:

我有以下参数,我将从触发该作业的用户输入:

  • 环境(考虑用户选择"ENV2")
  • 文件名(考虑用户保持默认值)

我在run/job.json下的工作区中有一个json文件,其中包含以下内容:

{
    environment: "ENV1",
    filename: "abc.txt"
}
Run Code Online (Sandbox Code Playgroud)

现在,无论用户在触发作业之前给出的值是什么,都必须在job.json中替换.

因此,当用户触发作业时,job.json文件应为:

{
    environment: "ENV2",
    filename: "abc.txt"
}
Run Code Online (Sandbox Code Playgroud)

请注意json中必须更新的环境值.

我试过https://wiki.jenkins-ci.org/display/JENKINS/Config+File+Provider+Plugin插件.但是我无法找到有关参数化值的任何帮助.

请建议配置此插件或建议任何其他插件,它可以满足我的目的.

jenkins jenkins-plugins

6
推荐指数
2
解决办法
2万
查看次数

Java 8 收集,用总和计数

我有以下格式的数据:

ProductName | Date
------------|------
ABC         | 1-May
ABC         | 1-May
XYZ         | 1-May
ABC         | 2-May
Run Code Online (Sandbox Code Playgroud)

它采用 List 的形式,其中 Product 由 ProductName 和 Date 组成。现在我想对这些数据进行分组并得到总和的计数,如下所示:

1-May
  -> ABC : 2
  -> XYZ : 1
  -> Total : 3
2-May
  -> ABC: 1
  -> Total : 1
Run Code Online (Sandbox Code Playgroud)

到目前为止,我所取得的是分组计数,而不是总价值。

myProductList.stream()
  .collect(Collectors.groupingBy(Product::getDate, 
            Collectors.groupingBy(Product::getProductName, Collectors.counting())));
Run Code Online (Sandbox Code Playgroud)

不知道如何获得总价值。

java java-8 java-stream

5
推荐指数
1
解决办法
4857
查看次数

Java 8收集并更改结果的格式

我有调用的数据结构MyPojo,其中包含调用的字段time,name并且timetaken(都在字符串中).我正在尝试按如下方式进行分组:

    List<MyPojo> myPojos = Arrays.asList(
        new MyPojo("2017", "ABC", "30"),
        new MyPojo("2017", "ABC", "20"),
        new MyPojo("2016", "ABC", "25"),
        new MyPojo("2017", "XYZ", "40")
    );

    Map<String, Map<String, Double>> resultMap = myPojos.stream()
        .collect(Collectors.groupingBy(MyPojo::getName,
            Collectors.groupingBy(MyPojo::getTime,
                Collectors.averagingDouble(MyPojo::getTimeTakenAsDouble))));
Run Code Online (Sandbox Code Playgroud)

请注意,我有一个方法调用getTimeTakenAsDoubletimetaken字符串转换为double值.

结果如下:

    {ABC={2017=25.0, 2016=25.0}, XYZ={2017=40.0}}
Run Code Online (Sandbox Code Playgroud)

但是,我的前端开发人员希望数据采用以下格式:

    {ABC={2017=25.0, 2016=25.0}, XYZ={2017=40.0, 2016=0.0}}
Run Code Online (Sandbox Code Playgroud)

要么

    [
            {
                    "time": "2017",
                    "name": "ABC",
                    "avgTimeTaken": 25.0
            },
            {
                    "time": "2017",
                    "name": "XYZ",
                    "avgTimeTaken": 40.0
            },
            {
                    "time": "2016",
                    "name": "ABC",
                    "avgTimeTaken": 25.0
            },
            { …
Run Code Online (Sandbox Code Playgroud)

java-8 java-stream

5
推荐指数
1
解决办法
179
查看次数

Robot Framework 中的 __init__.txt

我有以下结构:

test_init
|__________resources
|          |__________ keywords.robot
|__________tests
           |__________ __init__.txt
           |__________ TestInit.robot
Run Code Online (Sandbox Code Playgroud)

keyword.robot 包含:

*** Keywords ***
Keyword for init
   Log  init
Run Code Online (Sandbox Code Playgroud)

__init__.txt 包含:

*** Settings ***
Documentation  This is from init file
Resource  ${EXECDIR}/resources/keywords.robot
Run Code Online (Sandbox Code Playgroud)

TestInit.robot 包含:

*** Test Cases ***
Testing the Init
   Log  Vimal
   Keyword for init
Run Code Online (Sandbox Code Playgroud)

并从 test_init 目录中的命令行,如果我执行如下:

> pybot tests
Run Code Online (Sandbox Code Playgroud)

我收到错误说:

No keyword with name 'Keyword for init' found
Run Code Online (Sandbox Code Playgroud)

我在想,初始化文件也导入了资源文件。但是 init 文件被文档识别,我在我的报告中得到了它。

我对初始化文件的用法有点困惑,请帮助我更好地理解它。

robotframework

2
推荐指数
1
解决办法
1万
查看次数

使用Ruby启动并杀死浏览器

所有,

我有一个问题,我需要你的帮助.

在Windows中使用Ruby 1.9.3,我使用以下命令启动浏览器:

system('start http://www.stackoverflow.com')
Run Code Online (Sandbox Code Playgroud)

我试过以各种方式获取上述系统cmd的pid,如exec,Thread和IO.popen.但每次我得到不同的PID,我假设红宝石过程的PID.

但我需要启动浏览器的PID,这样一旦我完成任务,我就可以杀死浏览器.

请注意,我不想使用Watir/Selenium或任何自动化工具.

请帮助我.

ruby

0
推荐指数
1
解决办法
119
查看次数