Git Product home page Git Product logo

benthos-lab's People

Contributors

ilyaglow avatar jeffail avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

benthos-lab's Issues

input benthos_lab option multipart:false doesn't appear to make a difference

Hi,

I have a text file that I want to process each line individually in a pipeline. I expected input type benthos_lab to work similar to 'file' input, in that by default each individual input line would be treated as a single message.

That doesn't appear to be the case as I had to nest my pipeline in a for_each to get it to work properly.

I tried adding "multipart: false" but the results are the same.

I then ran the same config directly under benthos, after changing the input type to 'file'.

In my test directly on benthos, changing the input file to multipart: true caused it to behave like input benthos_lab does (e.g. incorrectly for my use-case)

That makes me think benthos_lab input defaults to multipart: true, and cannot be changed to multipart: false.

labs "add XXX" feature adds deprecated components

I was experimenting with some configurations and wanted to use labs as a sort of sanity checker.

I noticed that if i select certain components from the "add XXX" too will populate deprecated components in the generated config.

For example:

Add Condition -> Metadata will populate a filter_parts component which is deprecated

This appears on lab.benthos.dev and in the docker build

I did not do a thorough search of components, stopped at the one.

Add persistent cache option to service

I'm not sure that it's worth exposing the full cache configuration spec for this service but we ought to have a persistent storage option, most likely exposed via flags.

Lab crashes

Using jeffail/benthos-lab docker image.
Same issue on vivaldi and chromium, running on manjaro linux.
After one or two actions, like add a new input, site hangs and crashes after a view moments.
No errors shown in docker output.

Simulate inputs and outputs

It'd be great to support testing input and output processing pipelines and broker patterns by compiling input and output sections. We'd need a mechanism for injecting messages via a custom input and the same for extracting resulting messages from a custom output.

We have a very similar requirement outlined in benthosdev/benthos#207 so it makes sense to build components that can be shared.

Type lookup in the web editor

Wondering if we can show the possible red types based on picking the original type when free typing.

For example, if i choose "Text", then the possible sub types are "operator" and "value"

tinygo

The latest release has been working for me on 2 golang projects so far.

Might be worth trying it out for benthos lab.

This is able to compile a golang badgerDB to tinygo.

all: g-dep js-dep js-dep-os g-all js-build

all-delete: g-dep-delete js-dep-delete

# https://github.com/genjidb/genji

LIB_NAME=genji
LIB=github.com/genjidb/$(LIB_NAME)


g-dep:
	git clone https://$(LIB)
g-dep-delete:
	rm -rf $(LIB_NAME)

g-init:
	cd $(LIB_NAME) && go mod tidy
g-all:
	cd $(LIB_NAME) && $(MAKE) all
g-gen:
	cd $(LIB_NAME) && $(MAKE) gen
g-build:
	cd $(LIB_NAME) && $(MAKE) build
g-test:	
	cd $(LIB_NAME) && $(MAKE) test
g-bench:
	cd $(LIB_NAME) && $(MAKE) bench
g-run:
	genji -h

#### JS / WASM

# https://github.com/genjidb/genji.js

JS_LIB_NAME=genji.js
JS_LIB=github.com/genjidb/$(JS_LIB_NAME)


js-dep:
	git clone https://$(JS_LIB)
js-dep-delete:
	rm -rf $(JS_LIB_NAME)

js-dep-os:
	# tinygo
	brew tap tinygo-org/tools
	brew install tinygo
	tinygo version

js-build:
	# also calls tinygo.
	cd $(JS_LIB_NAME) && yarn install && yarn build

Add session level settings

It would be cool to add a settings section that is specific to the session itself. That would allow you to set things like how the input is interpreted (current system vs single message N lines) for a specific session.

Current settings would remain the same and be cookie based, session settings get stored in the session similar to the input.

Global service rate limit

We don't need user specific rate limits but maybe a sensible global one would at least give us basic protection against slamming our cache.

Nice 404 page for unfound labs

Currently you get a blank page with "Server failed" if you try to access a lab session that doesn't exist. There should be a nice 404 page that explains the situation in the form of a dope graphic.

Lab doesn't work with Benthos v3.2.1 (seems like it's Go 1.13)

I tried to build a lab with the latest benthos version (3.2.1) that requires Go 1.13.

It builds successfully with a few Dockerfile changes, but the Attempting to initialise Benthos engine... message doesn't disappear when I visit UI.

In the browser's console I see the following error:

(index):1 Uncaught (in promise) LinkError: WebAssembly.instantiate(): Import #20 module="go" function="syscall/js.copyBytesToGo" error: function import requires a callable
Promise.then (async)
(anonymous) @ editor.js:400

I noticed that whatever version of benthos I try to build with Go 1.13 in the lab I get the same error.

Support more cache options

I'm not sure that it's worth exposing the full cache configuration spec for this service but we ought to have a persistent storage option, most likely exposed via flags.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.