pip_clients_metrics 1.0.0

  • Readme
  • Changelog
  • Example
  • Installing
  • 50

Pip.Services Logo #

Metrics Client SDK #

This is the client for metrics microservice. It keeps list of metrics.

This microservice is designed to manage various metrics characterizing the operation of a process. Each metric has the following characteristics:

  • metric name
  • up to 3 types of measurements (in string format)
  • date and time is a numerical value characterizing the metric

When adding or updating a metric, statistics on the metric are automatically calculated for different time horizons (you can specify the depth of the horizon) with the calculation of the average, maximum, minimum and accumulated values ​​within each of them.

Data access is provided through a set of API functions

The microservice currently supports the following deployment options:

  • Deployment platforms: Standalone Process
  • External APIs: HTTP/REST
  • Persistence: Memory, Flat Files, MongoDB

This microservice has no dependencies on other microservices. Quick Links:

Contract #

Logical contract of the microservice is presented below. For physical implementation (HTTP/REST, GRPC, Lambda, etc.), please, refer to documentation of the specific protocol.

// Create or update metric struct
class MetricUpdateV1 {
    String  name;
    int year;
    int  month;
    int day;
    int hour;
    int minute; 
    String dimension1; 
    String dimension2; 
    String dimension3; 
    double value;
}
// Metric definition struct
class MetricDefinitionV1 {
  String name;
  List<String> dimension1;
  List<String> dimension2;
  List<String> dimension3;
}
// Metric value struct
class MetricValueSetV1 {
    String name;
    int time_horizon;
    String dimension1;
    String dimension2;
    String dimension3;
    List<MetricValueV1> values;
}
// Values of metric
class MetricValueV1 {
    int year; 
    int month; 
    int day; 
    int hour; 
    int minute; 
    int count;
    double sum;
    double max;
    double min;
}
// Time horizons
class TimeHorizonV1 {
    static const Total = 0;
    static const Year = 1;
    static const Month = 2;
    static const Day = 3;
    static const Hour = 4;
    static const Minute = 5;
}

abstract class IMetricsController {
  Future<List<MetricDefinitionV1>> getMetricDefinitions(String correlationId);
  Future<MetricDefinitionV1> getMetricDefinitionByName(
      String correlationId, String name);
  Future<DataPage<MetricValueSetV1>> getMetricsByFilter(
      String correlationId, FilterParams filter, PagingParams paging);
  Future updateMetric(
      String correlationId, MetricUpdateV1 update, int maxTimeHorizon);
  Future updateMetrics(
      String correlationId, List<MetricUpdateV1> updates, int maxTimeHorizon);
}

Download #

Right now the only way to get the microservice is to check it out directly from github repository

git clone git@github.com:pip-services-infrastructure/pip-clients-metrics-dart.git

Pip.Service team is working to implement packaging and make stable releases available for your as zip downloadable archieves.

Use #

Inside your code get the reference to the client SDK

 import 'package:pip_clients_metrics';

Define client configuration parameters.

// Client configuration
var httpConfig = ConfigParams.fromTuples([
            'connection.protocol', 'http',
            'connection.port', 3000,
            'connection.host', 'localhost'
]);
client.configure(httpConfig);

Instantiate the client and open connection to the microservice

// Create the client instance
client = MetricssHttpClientV1();

// Connect to the microservice
try {
await client.open(null);
catch (err){
    print('Connection to the microservice failed');
    printr(err);
    return;
}
// Work with the microservice
...

Now the client is ready to perform operations:

Update if exist metric or create otherwise:

try{
    await client.updateMetric(
                    null,
                    MetricUpdateV1()
                        ..name = "metric1"
                        ..dimension1 = "A"
                        ..dimension2 = "B"
                        ..dimension3 = null
                        ..year = 2018
                        ..month = 8
                        ..day = 26
                        ..hour = 12
                        ..value = 123
                    ,
                    TimeHorizonV1.Hour);
} catch(err) {
    console.error('Update/create metric are failed');
    console.error(err);
}

Update if exist metrics or create otherwise::

try{ 
    await client.updateMetrics(
                    null,
                    [
                        MetricUpdateV1() 
                            ..name = "metric1",
                            ..dimension1 = "A",
                            ..dimension2 = "B",
                            ..dimension3 = null,
                            ..year = 2018,
                            ..month = 8,
                            ..day = 26,
                            ..hour = 13,
                            ..value = 321
                        ,
                        MetricUpdateV1() 
                            ..name = "metric2"
                            ..dimension1 = "A"
                            ..dimension2 = null
                            ..dimension3 = "C"
                            ..year = 2018
                            ..month = 8
                            ..day = 26
                            ..hour = 13
                            ..value = 321
                        }        
                    ],
                    TimeHorizonV1.Hour);
} catch(err){               
    console.error('Update/create metric are failed');
    console.error(err);                 
}    
                

Get metrics by filter:

try {    
    var page = await client.getMetricsByFilter(null,
                    FilterParams.fromTuples(["name", "metric1"]),
                    new PagingParams());
    console.log("Metrics:");
    console.log(page.data);

} catch(err) {
    console.error("Can\'t get metrics by filter");
    console.error(err);                      
}
    

Get all metrics definitions:

try {   
    var definitions = await client.getMetricDefinitions(null);
    console.log("All metrics definition:");
    console.log(definitions);
} catch (err){
                    
    console.error("Can\'t get metrics definitions");
    console.error(err);
}
    

Get metric definition by name:

try {   
    var definition = await client.getMetricDefinitionByName(
                    null, 
                    "metric2");
    console.log("Metric definition name %s:", definition.name);
    console.log(definition);
} catch(err) {
                        
    console.error("Can\'t get metrics definition by name");
    console.error(err);
}               
    

Acknowledgements #

This client SDK was created and currently maintained by Sergey Seroukhov and Levichev Dmitry.

1.0.0 #

  • Init version created by Sergey Seroukhov and Levichev Dmitry

example/README.md

Contract #

Logical contract of the microservice is presented below. For physical implementation (HTTP/REST, GRPC, Lambda, etc.), please, refer to documentation of the specific protocol.

// Create or update metric struct
class MetricUpdateV1 {
    String  name;
    int year;
    int  month;
    int day;
    int hour;
    int minute; 
    String dimension1; 
    String dimension2; 
    String dimension3; 
    double value;
}
// Metric definition struct
class MetricDefinitionV1 {
  String name;
  List<String> dimension1;
  List<String> dimension2;
  List<String> dimension3;
}
// Metric value struct
class MetricValueSetV1 {
    String name;
    int time_horizon;
    String dimension1;
    String dimension2;
    String dimension3;
    List<MetricValueV1> values;
}
// Values of metric
class MetricValueV1 {
    int year; 
    int month; 
    int day; 
    int hour; 
    int minute; 
    int count;
    double sum;
    double max;
    double min;
}
// Time horizons
class TimeHorizonV1 {
    static const Total = 0;
    static const Year = 1;
    static const Month = 2;
    static const Day = 3;
    static const Hour = 4;
    static const Minute = 5;
}

abstract class IMetricsController {
  Future<List<MetricDefinitionV1>> getMetricDefinitions(String correlationId);
  Future<MetricDefinitionV1> getMetricDefinitionByName(
      String correlationId, String name);
  Future<DataPage<MetricValueSetV1>> getMetricsByFilter(
      String correlationId, FilterParams filter, PagingParams paging);
  Future updateMetric(
      String correlationId, MetricUpdateV1 update, int maxTimeHorizon);
  Future updateMetrics(
      String correlationId, List<MetricUpdateV1> updates, int maxTimeHorizon);
}

Download #

Right now the only way to get the microservice is to check it out directly from github repository

git clone git@github.com:pip-services-infrastructure/pip-services-metrics-dart.git

Pip.Service team is working to implement packaging and make stable releases available for your as zip downloadable archieves.

Run #

Add config.yaml file to the root of the microservice folder and set configuration parameters. As the starting point you can use example configuration from config.example.yaml file.

Example of microservice configuration

{    
---
- descriptor: "pip-services-commons:logger:console:default:1.0"
  level: "trace"

- descriptor: "pip-services-metrics:persistence:file:default:1.0"
  path: "./data/blobs"

- descriptor: "pip-services-metrics:controller:default:default:1.0"

- descriptor: "pip-services-metrics:service:http:default:1.0"
  connection:
    protocol: "http"
    host: "0.0.0.0"
    port: 3000
}

For more information on the microservice configuration see Configuration Guide.

Start the microservice using the command:

dart ./bin/run.dart

Use #

Inside your code get the reference to the client SDK

 import 'package:pip_clients_metrics';

Define client configuration parameters.

// Client configuration
var httpConfig = ConfigParams.fromTuples([
            'connection.protocol', 'http',
            'connection.port', 3000,
            'connection.host', 'localhost'
]);
client.configure(httpConfig);

Instantiate the client and open connection to the microservice

// Create the client instance
client = MetricssHttpClientV1();

// Connect to the microservice
try {
await client.open(null);
catch (err){
    print('Connection to the microservice failed');
    printr(err);
    return;
}
// Work with the microservice
...

Now the client is ready to perform operations:

Update if exist metric or create otherwise:

try{
    await client.updateMetric(
                    null,
                    MetricUpdateV1()
                        ..name = "metric1"
                        ..dimension1 = "A"
                        ..dimension2 = "B"
                        ..dimension3 = null
                        ..year = 2018
                        ..month = 8
                        ..day = 26
                        ..hour = 12
                        ..value = 123
                    ,
                    TimeHorizonV1.Hour);
} catch(err) {
    console.error('Update/create metric are failed');
    console.error(err);
}

Update if exist metrics or create otherwise::

try{ 
    await client.updateMetrics(
                    null,
                    [
                        MetricUpdateV1() 
                            ..name = "metric1",
                            ..dimension1 = "A",
                            ..dimension2 = "B",
                            ..dimension3 = null,
                            ..year = 2018,
                            ..month = 8,
                            ..day = 26,
                            ..hour = 13,
                            ..value = 321
                        ,
                        MetricUpdateV1() 
                            ..name = "metric2"
                            ..dimension1 = "A"
                            ..dimension2 = null
                            ..dimension3 = "C"
                            ..year = 2018
                            ..month = 8
                            ..day = 26
                            ..hour = 13
                            ..value = 321
                        }        
                    ],
                    TimeHorizonV1.Hour);
} catch(err){               
    console.error('Update/create metric are failed');
    console.error(err);                 
}    
                

Get metrics by filter:

try {    
    var page = await client.getMetricsByFilter(null,
                    FilterParams.fromTuples(["name", "metric1"]),
                    new PagingParams());
    console.log("Metrics:");
    console.log(page.data);

} catch(err) {
    console.error("Can\'t get metrics by filter");
    console.error(err);                      
}
    

Get all metrics definitions:

try {   
    var definitions = await client.getMetricDefinitions(null);
    console.log("All metrics definition:");
    console.log(definitions);
} catch (err){
                    
    console.error("Can\'t get metrics definitions");
    console.error(err);
}
    

Get metric definition by name:

try {   
    var definition = await client.getMetricDefinitionByName(
                    null, 
                    "metric2");
    console.log("Metric definition name %s:", definition.name);
    console.log(definition);
} catch(err) {
                        
    console.error("Can\'t get metrics definition by name");
    console.error(err);
}               
    

Use this package as a library

1. Depend on it

Add this to your package's pubspec.yaml file:


dependencies:
  pip_clients_metrics: ^1.0.0

2. Install it

You can install packages from the command line:

with pub:


$ pub get

Alternatively, your editor might support pub get. Check the docs for your editor to learn more.

3. Import it

Now in your Dart code, you can use:


import 'package:pip_clients_metrics/pip_clients_metrics.dart';
  
Popularity:
Describes how popular the package is relative to other packages. [more]
0
Health:
Code health derived from static analysis. [more]
100
Maintenance:
Reflects how tidy and up-to-date the package is. [more]
100
Overall:
Weighted score of the above. [more]
50
Learn more about scoring.

We analyzed this package on Jul 9, 2020, and provided a score, details, and suggestions below. Analysis was completed with status completed using:

  • Dart: 2.8.4
  • pana: 0.13.14

Analysis suggestions

Package not compatible with SDK flutter

Because it is not compatible with any of the supported runtimes: flutter-native, flutter-web

Package not compatible with runtime flutter-native on android

Because:

  • package:pip_clients_metrics/pip_clients_metrics.dart that imports:
  • package:pip_clients_metrics/src/build/build.dart that imports:
  • package:pip_clients_metrics/src/build/MetricsClientFactory.dart that imports:
  • package:pip_clients_metrics/src/clients/version1/MetricsHttpClientV1.dart that imports:
  • package:pip_clients_metrics/src/clients/version1/IMetricsClientV1.dart that imports:
  • package:pip_services_metrics/pip_services_metrics.dart that imports:
  • package:pip_services_metrics/src/services/version1/services.dart that imports:
  • package:pip_services_metrics/src/services/version1/MetricsHttpServiceV1.dart that imports:
  • package:pip_services3_rpc/pip_services3_rpc.dart that imports:
  • package:pip_services3_rpc/src/build/build.dart that imports:
  • package:pip_services3_rpc/src/build/DefaultRpcFactory.dart that imports:
  • package:pip_services3_rpc/src/services/StatusRestService.dart that imports:
  • package:pip_services3_rpc/src/services/RestService.dart that imports:
  • package:pip_services3_rpc/src/services/HttpResponseSender.dart that imports:
  • package:pip_services3_commons/pip_services3_commons.dart that imports:
  • package:pip_services3_commons/src/validate/validate.dart that imports:
  • package:pip_services3_commons/src/validate/ProjectionParamsSchema.dart that imports:
  • package:pip_services3_commons/src/validate/ArraySchema.dart that imports:
  • package:pip_services3_commons/src/reflect/ObjectReader.dart that imports:
  • package:pip_services3_commons/src/reflect/PropertyReflector.dart that imports:
  • dart:mirrors

Package not compatible with runtime flutter-native on ios

Because:

  • package:pip_clients_metrics/pip_clients_metrics.dart that imports:
  • package:pip_clients_metrics/src/build/build.dart that imports:
  • package:pip_clients_metrics/src/build/MetricsClientFactory.dart that imports:
  • package:pip_clients_metrics/src/clients/version1/MetricsHttpClientV1.dart that imports:
  • package:pip_clients_metrics/src/clients/version1/IMetricsClientV1.dart that imports:
  • package:pip_services_metrics/pip_services_metrics.dart that imports:
  • package:pip_services_metrics/src/services/version1/services.dart that imports:
  • package:pip_services_metrics/src/services/version1/MetricsHttpServiceV1.dart that imports:
  • package:pip_services3_rpc/pip_services3_rpc.dart that imports:
  • package:pip_services3_rpc/src/build/build.dart that imports:
  • package:pip_services3_rpc/src/build/DefaultRpcFactory.dart that imports:
  • package:pip_services3_rpc/src/services/StatusRestService.dart that imports:
  • package:pip_services3_rpc/src/services/RestService.dart that imports:
  • package:pip_services3_rpc/src/services/HttpResponseSender.dart that imports:
  • package:pip_services3_commons/pip_services3_commons.dart that imports:
  • package:pip_services3_commons/src/validate/validate.dart that imports:
  • package:pip_services3_commons/src/validate/ProjectionParamsSchema.dart that imports:
  • package:pip_services3_commons/src/validate/ArraySchema.dart that imports:
  • package:pip_services3_commons/src/reflect/ObjectReader.dart that imports:
  • package:pip_services3_commons/src/reflect/PropertyReflector.dart that imports:
  • dart:mirrors

Package not compatible with runtime flutter-native on linux

Because:

  • package:pip_clients_metrics/pip_clients_metrics.dart that imports:
  • package:pip_clients_metrics/src/build/build.dart that imports:
  • package:pip_clients_metrics/src/build/MetricsClientFactory.dart that imports:
  • package:pip_clients_metrics/src/clients/version1/MetricsHttpClientV1.dart that imports:
  • package:pip_clients_metrics/src/clients/version1/IMetricsClientV1.dart that imports:
  • package:pip_services_metrics/pip_services_metrics.dart that imports:
  • package:pip_services_metrics/src/services/version1/services.dart that imports:
  • package:pip_services_metrics/src/services/version1/MetricsHttpServiceV1.dart that imports:
  • package:pip_services3_rpc/pip_services3_rpc.dart that imports:
  • package:pip_services3_rpc/src/build/build.dart that imports:
  • package:pip_services3_rpc/src/build/DefaultRpcFactory.dart that imports:
  • package:pip_services3_rpc/src/services/StatusRestService.dart that imports:
  • package:pip_services3_rpc/src/services/RestService.dart that imports:
  • package:pip_services3_rpc/src/services/HttpResponseSender.dart that imports:
  • package:pip_services3_commons/pip_services3_commons.dart that imports:
  • package:pip_services3_commons/src/validate/validate.dart that imports:
  • package:pip_services3_commons/src/validate/ProjectionParamsSchema.dart that imports:
  • package:pip_services3_commons/src/validate/ArraySchema.dart that imports:
  • package:pip_services3_commons/src/reflect/ObjectReader.dart that imports:
  • package:pip_services3_commons/src/reflect/PropertyReflector.dart that imports:
  • dart:mirrors

Package not compatible with runtime flutter-native on macos

Because:

  • package:pip_clients_metrics/pip_clients_metrics.dart that imports:
  • package:pip_clients_metrics/src/build/build.dart that imports:
  • package:pip_clients_metrics/src/build/MetricsClientFactory.dart that imports:
  • package:pip_clients_metrics/src/clients/version1/MetricsHttpClientV1.dart that imports:
  • package:pip_clients_metrics/src/clients/version1/IMetricsClientV1.dart that imports:
  • package:pip_services_metrics/pip_services_metrics.dart that imports:
  • package:pip_services_metrics/src/services/version1/services.dart that imports:
  • package:pip_services_metrics/src/services/version1/MetricsHttpServiceV1.dart that imports:
  • package:pip_services3_rpc/pip_services3_rpc.dart that imports:
  • package:pip_services3_rpc/src/build/build.dart that imports:
  • package:pip_services3_rpc/src/build/DefaultRpcFactory.dart that imports:
  • package:pip_services3_rpc/src/services/StatusRestService.dart that imports:
  • package:pip_services3_rpc/src/services/RestService.dart that imports:
  • package:pip_services3_rpc/src/services/HttpResponseSender.dart that imports:
  • package:pip_services3_commons/pip_services3_commons.dart that imports:
  • package:pip_services3_commons/src/validate/validate.dart that imports:
  • package:pip_services3_commons/src/validate/ProjectionParamsSchema.dart that imports:
  • package:pip_services3_commons/src/validate/ArraySchema.dart that imports:
  • package:pip_services3_commons/src/reflect/ObjectReader.dart that imports:
  • package:pip_services3_commons/src/reflect/PropertyReflector.dart that imports:
  • dart:mirrors

Package not compatible with runtime flutter-native on windows

Because:

  • package:pip_clients_metrics/pip_clients_metrics.dart that imports:
  • package:pip_clients_metrics/src/build/build.dart that imports:
  • package:pip_clients_metrics/src/build/MetricsClientFactory.dart that imports:
  • package:pip_clients_metrics/src/clients/version1/MetricsHttpClientV1.dart that imports:
  • package:pip_clients_metrics/src/clients/version1/IMetricsClientV1.dart that imports:
  • package:pip_services_metrics/pip_services_metrics.dart that imports:
  • package:pip_services_metrics/src/services/version1/services.dart that imports:
  • package:pip_services_metrics/src/services/version1/MetricsHttpServiceV1.dart that imports:
  • package:pip_services3_rpc/pip_services3_rpc.dart that imports:
  • package:pip_services3_rpc/src/build/build.dart that imports:
  • package:pip_services3_rpc/src/build/DefaultRpcFactory.dart that imports:
  • package:pip_services3_rpc/src/services/StatusRestService.dart that imports:
  • package:pip_services3_rpc/src/services/RestService.dart that imports:
  • package:pip_services3_rpc/src/services/HttpResponseSender.dart that imports:
  • package:pip_services3_commons/pip_services3_commons.dart that imports:
  • package:pip_services3_commons/src/validate/validate.dart that imports:
  • package:pip_services3_commons/src/validate/ProjectionParamsSchema.dart that imports:
  • package:pip_services3_commons/src/validate/ArraySchema.dart that imports:
  • package:pip_services3_commons/src/reflect/ObjectReader.dart that imports:
  • package:pip_services3_commons/src/reflect/PropertyReflector.dart that imports:
  • dart:mirrors

Package not compatible with runtime flutter-web on web

Because:

  • package:pip_clients_metrics/pip_clients_metrics.dart that imports:
  • package:pip_clients_metrics/src/build/build.dart that imports:
  • package:pip_clients_metrics/src/build/MetricsClientFactory.dart that imports:
  • package:pip_clients_metrics/src/clients/version1/MetricsHttpClientV1.dart that imports:
  • package:pip_clients_metrics/src/clients/version1/IMetricsClientV1.dart that imports:
  • package:pip_services_metrics/pip_services_metrics.dart that imports:
  • package:pip_services_metrics/src/services/version1/services.dart that imports:
  • package:pip_services_metrics/src/services/version1/MetricsHttpServiceV1.dart that imports:
  • package:pip_services3_rpc/pip_services3_rpc.dart that imports:
  • package:pip_services3_rpc/src/build/build.dart that imports:
  • package:pip_services3_rpc/src/build/DefaultRpcFactory.dart that imports:
  • package:pip_services3_rpc/src/services/StatusRestService.dart that imports:
  • package:pip_services3_rpc/src/services/RestService.dart that imports:
  • package:pip_services3_rpc/src/services/HttpResponseSender.dart that imports:
  • package:pip_services3_commons/pip_services3_commons.dart that imports:
  • package:pip_services3_commons/src/validate/validate.dart that imports:
  • package:pip_services3_commons/src/validate/ProjectionParamsSchema.dart that imports:
  • package:pip_services3_commons/src/validate/ArraySchema.dart that imports:
  • package:pip_services3_commons/src/reflect/ObjectReader.dart that imports:
  • package:pip_services3_commons/src/reflect/PropertyReflector.dart that imports:
  • dart:mirrors

Package not compatible with runtime js

Because:

  • package:pip_clients_metrics/pip_clients_metrics.dart that imports:
  • package:pip_clients_metrics/src/build/build.dart that imports:
  • package:pip_clients_metrics/src/build/MetricsClientFactory.dart that imports:
  • package:pip_clients_metrics/src/clients/version1/MetricsHttpClientV1.dart that imports:
  • package:pip_clients_metrics/src/clients/version1/IMetricsClientV1.dart that imports:
  • package:pip_services_metrics/pip_services_metrics.dart that imports:
  • package:pip_services_metrics/src/services/version1/services.dart that imports:
  • package:pip_services_metrics/src/services/version1/MetricsHttpServiceV1.dart that imports:
  • package:pip_services3_rpc/pip_services3_rpc.dart that imports:
  • package:pip_services3_rpc/src/build/build.dart that imports:
  • package:pip_services3_rpc/src/build/DefaultRpcFactory.dart that imports:
  • package:pip_services3_rpc/src/services/StatusRestService.dart that imports:
  • package:pip_services3_rpc/src/services/RestService.dart that imports:
  • package:pip_services3_rpc/src/services/HttpResponseSender.dart that imports:
  • package:pip_services3_commons/pip_services3_commons.dart that imports:
  • package:pip_services3_commons/src/validate/validate.dart that imports:
  • package:pip_services3_commons/src/validate/ProjectionParamsSchema.dart that imports:
  • package:pip_services3_commons/src/validate/ArraySchema.dart that imports:
  • package:pip_services3_commons/src/reflect/ObjectReader.dart that imports:
  • package:pip_services3_commons/src/reflect/PropertyReflector.dart that imports:
  • dart:mirrors

Package not compatible with runtime native-aot

Because:

  • package:pip_clients_metrics/pip_clients_metrics.dart that imports:
  • package:pip_clients_metrics/src/build/build.dart that imports:
  • package:pip_clients_metrics/src/build/MetricsClientFactory.dart that imports:
  • package:pip_clients_metrics/src/clients/version1/MetricsHttpClientV1.dart that imports:
  • package:pip_clients_metrics/src/clients/version1/IMetricsClientV1.dart that imports:
  • package:pip_services_metrics/pip_services_metrics.dart that imports:
  • package:pip_services_metrics/src/services/version1/services.dart that imports:
  • package:pip_services_metrics/src/services/version1/MetricsHttpServiceV1.dart that imports:
  • package:pip_services3_rpc/pip_services3_rpc.dart that imports:
  • package:pip_services3_rpc/src/build/build.dart that imports:
  • package:pip_services3_rpc/src/build/DefaultRpcFactory.dart that imports:
  • package:pip_services3_rpc/src/services/StatusRestService.dart that imports:
  • package:pip_services3_rpc/src/services/RestService.dart that imports:
  • package:pip_services3_rpc/src/services/HttpResponseSender.dart that imports:
  • package:pip_services3_commons/pip_services3_commons.dart that imports:
  • package:pip_services3_commons/src/validate/validate.dart that imports:
  • package:pip_services3_commons/src/validate/ProjectionParamsSchema.dart that imports:
  • package:pip_services3_commons/src/validate/ArraySchema.dart that imports:
  • package:pip_services3_commons/src/reflect/ObjectReader.dart that imports:
  • package:pip_services3_commons/src/reflect/PropertyReflector.dart that imports:
  • dart:mirrors

Dependencies

Package Constraint Resolved Available
Direct dependencies
Dart SDK >=2.0.0 <3.0.0
http ^0.12.0 0.12.1
pip_services3_commons ^1.0.9 1.0.11
pip_services3_components ^1.0.6 1.0.6
pip_services3_container >=1.0.3 <2.0.0 1.0.3
pip_services3_rpc ^1.0.3 1.0.7
pip_services_metrics ^1.0.1 1.0.1
Transitive dependencies
angel_container 1.1.0
angel_framework 2.1.1
angel_http_exception 1.1.0
angel_model 1.0.3
angel_route 3.1.0+1
async 2.4.2
bson 0.3.2
charcode 1.1.3
code_buffer 1.0.1
collection 1.14.13 1.15.0-nullsafety
combinator 1.1.0
convert 2.1.1
crypto 2.1.5
dart2_constant 1.0.2+dart2
file 5.2.1
fixnum 0.10.11
http2 1.0.0
http_parser 3.1.4
http_server 0.9.8+3
intl 0.16.1
logging 0.11.4
matcher 0.12.8
merge_map 1.0.2
meta 1.2.2 1.3.0-nullsafety
mime 0.9.6+3
mock_request 1.0.7
mongo_dart 0.4.0
mongo_dart_query 0.4.1
more 1.18.2 2.5.0
mustache4dart2 0.1.0
path 1.7.0
pedantic 1.9.2
pip_services3_data 1.0.6
pip_services3_mongodb 1.0.4
pool 1.4.0
quiver 2.1.3
quiver_hashcode 2.0.0
recase 2.0.1 3.0.0
source_span 1.7.0
sprintf 4.0.2
stack_trace 1.9.5
string_scanner 1.0.5
term_glyph 1.1.0
tuple 1.0.3
typed_data 1.2.0 1.3.0-nullsafety
uuid 2.2.0
yaml 2.2.1
Dev dependencies
test >=1.14.2 <2.0.0