gateway | A proxy to buffer and forward metrics , events , and traces | Analytics library

 by   signalfx Go Version: v1.2.20 License: Apache-2.0

kandi X-RAY | gateway Summary

kandi X-RAY | gateway Summary

gateway is a Go library typically used in Analytics, Prometheus applications. gateway has no bugs, it has a Permissive License and it has low support. However gateway has 1 vulnerabilities. You can download it from GitHub.

The SignalFx Gateway lets you aggregate metrics and send them to SignalFx. It is a multilingual datapoint demultiplexer that can accept time series data from the carbon (Graphite), collectd or SignalFx protocols and emit those datapoints to a series of servers using the carbon, collectd or SignalFx protocols. We recommend placing the gateway either on the same server as another existing metrics aggregator or on a central server that is already receiving datapoints, such as Graphite's carbon database. The SignalFx Gateway also acts as a simple proxy and forwarder for SignalFx's Events Ingest and Trace Ingest APIs.

            kandi-support Support

              gateway has a low active ecosystem.
              It has 89 star(s) with 32 fork(s). There are 89 watchers for this library.
              It had no major release in the last 12 months.
              There are 0 open issues and 9 have been closed. On average issues are closed in 41 days. There are no pull requests.
              It has a neutral sentiment in the developer community.
              The latest version of gateway is v1.2.20

            kandi-Quality Quality

              gateway has no bugs reported.

            kandi-Security Security

              gateway has 1 vulnerability issues reported (0 critical, 1 high, 0 medium, 0 low).

            kandi-License License

              gateway is licensed under the Apache-2.0 License. This license is Permissive.
              Permissive licenses have the least restrictions, and you can use them in most projects.

            kandi-Reuse Reuse

              gateway releases are available to install and integrate.

            Top functions reviewed by kandi - BETA

            kandi has reviewed gateway and discovered the below as its top functions. This is intended to give you an instant insight into gateway implemented functionality, and help decide if they suit your requirements.
            • Easyjson662ComSignalProtocolMarshallMarshalJSONEncodeRawEncode is an easy way to marshal a JSON string into a JSONWriteFormat .
            • marshal63636349DecodeGitDecodeGitxProtocolDecodeGets JSON - encodes JSON into JSONWriteFormat .
            • decode3b0ebf6aDecodeGitxFormat4 decodes a JSON string into out .
            • EasyJSON3b2ebxGatewayProtocolSignalfxFormat4Encode serializes in JSON format .
            • EasyJSON3b4ebf6EncodeMarshalProtocolSignalsMarshalJSON method .
            • Easyjson3b4dexGatewayProtocolSignalfDecodeGitx2DecodeGets unmarshals a JSON string into a EventSendFormatV2 .
            • setupForwarders is used to setup the forwarders
            • decode3b0ebf1b6aDecodeGithubComSignalDecodeGithubComSignatureGithubComSignalDecodeGithubComSignatureGorGithubComSignalGitx is an autogenerated into out .
            • EasyJSON3b0EncodeGitxGatewayProtocolSignals marshals the JSON into the writer .
            • decode3b0ebf6a6a1aDecodeGitxFormatDecodeGithubComSignalfx1 decodes a JSON - encoded string .
            Get all kandi verified functions for this library.

            gateway Key Features

            No Key Features are available at this moment for gateway.

            gateway Examples and Code Snippets

            No Code Snippets are available at this moment for gateway.

            Community Discussions


            OcppV1.5 over Soap Error: Action does not exist
            Asked 2021-Jun-15 at 06:41

            i am currently building a Client to communicate with a Gateway of a Charge Point.
            The communication is build with OcppV1.5 over Soap & Http.
            The Server doesn't accept my request. I get a Http Response 500 with the Error Reason:

            "XML Request is not well formed, Action does not exist."

            I looked into the wsdl files but I just don't understand why it doesn't accept my action.

            My Request looks something like this:



            Answered 2021-Jun-13 at 09:11

            It's hard to tell from what you posted why you are getting an error, so I can only add some information that can hopefully allow you to troubleshoot the issue.

            Your message has WS-Addressing headers, being one of them. The value of this field should be specified in the WSDL if your WSDL also includes WS-Addressing Metadata information, or should be specified in the documentation of the web service you are invoking. Your error message "XML Request is not well formed, Action does not exist" seems to indicate that there might be an issue with this field, but there is another action that SOAP services have which is a SOAP action. I asked about it in the comment above to make sure it's eliminated as a source of problems. In SOAP 1.1 it's called SOAPAction and is a separate HTTP header, while in SOAP 1.2 it's an action parameter on the HTTP Content-Type header. Based on the namespace, you have a SOAP 1.2 message.

            With these explanations layed out, I suggest you take the WSDL and feed it to SoapUI who can generate sample requests that you can use to invoke the web service. If the WSDL also contains WS-Addressing Metadata, SoapUI should be able to pick it up and help you fill in the values you need. If not, look again through the WSDL for Action elements (make sure you differentiate between the SOAP Action and the WS-Addressing Action using their XML namespaces) or through the service documentation.

            Once you get a succesfull call using SoapUI, then try to duplicate it with your code. At that point you can again use SoapUI to troubleshoot things and inspect your code built message to see it resembles the one you can successfully send with SoapUI.

            Hope this helps get you closer to a resolution.



            MoleculerJs with Jaeger tracing: how to trace follow up action calls (new spans) in one trace
            Asked 2021-Jun-14 at 21:33

            I would like to display all my traces like in the examples from the moleculer-jaeger package:

            But what i get is something like this: All spans you can see in this picture should be within the main trace (gateway).

            Here is my moleculer.config:



            Answered 2021-Jun-14 at 21:33
            1. This version already has a built-in jager tracer, see the documentation.
            2. In order for the events to be nested, it is necessary to transfer the context inside the actions, use calls instead of, so they will be nested.
            3. To quickly receive support for the moleculer, join us in discord!



            Reply Channel for Messaging Gateway using Java DSL
            Asked 2021-Jun-14 at 14:28

            I have a REST API which receives a POST request from a client application.



            Answered 2021-Jun-14 at 14:28

            Your current flow does not return a value, you are simply logging the message.

            A terminating .log() ends the flow.

            Delete the .log() element so the result of the transform will automatically be routed back to the gateway.

            Or add a .bridge() (a bridge to nowhere) after the log and it will bridge the output to the reply channel.



            Remove levels and set index 0 as columns names
            Asked 2021-Jun-14 at 08:42

            How to remove first line with names level_0 and all and convert index 0 as columns.

            My df ...


            Answered 2021-Jun-14 at 08:42

            I suggest first create MultiIndex in columns by header=[0,1] by convert first 2 headers rows:



            Esp8266 WiFi STA cannot see Esp32 WiFi AP network, why?
            Asked 2021-Jun-14 at 07:45

            Started to develop a wiresless 'cable' solution (with websockets) between two ESPs, a wireless serial 'cable' between computer and a serial device to mimick a direct wired connection. Was working great however just accidentally fried one of the ESPs (short a serial cable connection to higher voltage - sigh) when testing. Replaced one of the ESP32s with an ESP8266. Suspect this should work however it did not.

            The problem is the ESP8266 (client) cannot find the network of the ESP32 (server). Why it doesn't work? My computer can see the server and can connect. Fried ESP32 the same, no problem.

            Tried the WiFiScan demo on the ESP8266 and can detect all other WiFi SSIDs/MACs in neighborhood however cannot detect the ESP32 server it's SSID/MAC.

            Why it doesn't work? What is the difference and how can I solve this?

            ESP32 - code of the server



            Answered 2021-Jun-14 at 07:45

            WiFi channels 12-14 are not used in some countries (e.g. US). Perhaps the ESP32 AP picked one of those channels, and ESP8266 is configured by default with settings from a country which doesn't allow them. Set the AP channel to some reasonably safe value in range 1-11.

            I can see that the default channel should be 1, but I'd suggest experimenting with it, perhaps setting it to 6:



            Circuit breaker based on the condition in request
            Asked 2021-Jun-14 at 06:57

            I need to set up the circuit break policy so that it would break the circuit only for some specific requests.

            I have a sort of a gateway A calling API B which in turn calls C or D. I'm setting up a circuit breaker policy in A. Initial request arriving on A has a parameter that is later used to decide whether to call C or D, lets say I'd like to have circuit breaker configured in such a way, that circuit could be open separately for C and D. I mean that if D is failing, calls with usageParam=D should fail immediately but usageParam=C should still go fine and vice versa.



            Answered 2021-Jun-14 at 06:57

            To put it simple a Circuit Breaker can have only just a single state. One of these: Closed, Open, Half-Open.

            You should consider the CB as a proxy. It allows each request to go trough it if the downstream system is considered health. If CB detects transient failure (by examining the responses if any) then it will shortcut the execution by denying all requests.

            So, if you want to differentiate the healthiness of C and D downstream systems then you would need two CBs (one for each). That allows you to separately allow or deny outgoing requests against different subsystems.

            Option A

            You can place the two CBs inside service A. Here you can register two named HttpClients which are decorated with different Circuit Breakers:



            Using ansible variable inside gathered fact list
            Asked 2021-Jun-13 at 20:44

            I'm stuck to get data from gathered fact, using calculated data as part of query.

            I am using 2.9 ansible and here is my task



            Answered 2021-Jun-13 at 20:44

            Remove the dot if you use the indirect addressing



            GCP - access from API Gateway to Google Cloud Run backend
            Asked 2021-Jun-13 at 12:12

            In my GCP project, I have a python API running in a docker container (using connexion). I want to expose the API (with an API key) using API Gateway.

            When I deploy the docker container with --ingress internal, I get Access is forbidden. on API calls over the Gateway. So the API gateway cannot access the Google Run container. When I use --ingress all, all works as expected, but then my internal API is accessible from the web, which is not what I want.

            I created a service account for this:



            Answered 2021-Jun-13 at 12:12

            Ingress internal means "Accept only the requests coming from the project's VPC or VPC SC perimeter".

            When you use API Gateway, you aren't in your VPC, it's serverless, it's in Google Cloud managed VPC. Therefore, your query are forbidden.

            And because API Gateway can't be plugged to a VPC Connector (for now) and thus can't route the request to your VPC, you can't use this ingress=internal mode.

            Thus, the solution is to set an ingress to all, which is not a concern is you authorize only the legit accounts to access it.

            For that, check in Cloud Run service is there is allUsers granted with the roles/run.invoker in your project.

            • If yes, remove it

            Then, create a service account and grant it the roles/run.invoker on the Cloud Run service.

            Follow this documentation

            • Step 4: update the x-google-backend in your OpenAPI spec file to add the correct authentication audience when you call your Cloud Run (it's the base service URL)
            • Step 5: create a gateway with a backend service account; set the service account that you created previously

            At the end, only the account authenticated and authorized will be able to reach your Cloud Run service

            All the unauthorized access are filtered by Google Front End and discarded before reaching your service. Therefore, your service isn't invoked for nothing and therefore your pay nothing!

            Only API Gateway (and the potential other accounts that you let on the Cloud Run service) can invoke to the Cloud Run service.

            So, OK, your URL is public, reachable from the wild internet, but protected with Google Front End and IAM.



            Traefik: Load Balance Across Three Node Docker Swarm
            Asked 2021-Jun-13 at 03:53

            I am working on setting up a three node Docker swarm for a web application I support. Initially, we have Traefik setup as a reverse proxy. Traefik and the web app both run on the same web server and the web server is in a single node docker swarm. We are trying to add two additional nodes for application stability.

            At the moment, I'm simply trying to understand Traefik load balancing along with Docker Swarm. I am deploying a Traefik v1.7 stack and including the whoami application. The docker-compose file for this first past looks like:



            Answered 2021-Jun-13 at 03:53

            Apparently Traefik can't drain the connections during update (maybe it doesn't have access to healthchecks and swarm info?).

            To achieve a zero-downtime rolling update you should delegate the load-balancing to docker swarm itself:



            Terraform - how to access the tuple and extract the invoke_arn and function_name
            Asked 2021-Jun-12 at 22:21

            I have written terraform code which:

            1. Creates IAM Role
            2. Creates lambda functions and attaches the above created role
            3. Dynamo DB table creation
            4. Creates API gateway, resources and adds POST method with lambda integration.

            The first 3 steps works well. However while creating and configuring the API gateway, I am encountering below error in resource aws_api_gateway_integration & aws_lambda_permission, where I am trying to attach the lambda function "save_course" to the POST method under "courses" resource



            Answered 2021-Jun-12 at 22:21

            Change your locals from


            Community Discussions, Code Snippets contain sources that include Stack Exchange Network


            No vulnerabilities reported

            Install gateway

            You can download it from GitHub.


            For any new features, suggestions and bugs create an issue on GitHub. If you have any questions check and ask questions on community page Stack Overflow .
            Find more information at:

            Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items

            Find more libraries
          • HTTPS


          • CLI

            gh repo clone signalfx/gateway

          • sshUrl


          • Stay Updated

            Subscribe to our newsletter for trending solutions and developer bootcamps

            Agree to Sign up and Terms & Conditions

            Share this Page

            share link