Tracetest - Trace-based testing. End-to-end tests powered by your OpenTelemetry Traces.

Overview

Tracetest Logo Light Tracetest Logo Dark

End-to-end tests powered by OpenTelemetry. For QA, Dev, & Ops.

Live Demo |  Documentation |  Twitter |  Discord |  Blog

Click on the image or this link to watch the "Tracetest Intro Video" video (7 mins)

Overview

Testing and debugging software built on microservices architectures is not an easy task. Multiple services, teams, programming languages, and technologies are involved. We want to help you write tests across all this complexity by leveraging your existing investment in OpenTelemetry tracing.

Tracetest makes it easy:

  1. Pick an API to test.
  2. Run a test, and get the trace.
  3. The trace is the blueprint of your system under test. It shows all the steps the system has taken to execute the request.
  4. Use this blueprint to define assertions through Tracetest UI.
  5. Add assertions on different services, checking return statuses, data, or even execution times of a system.
  6. Run the tests.

Assertions

Once the test is built, it can be run automatically as part of a build process. Every test has a trace attached, allowing you to immediately see what worked, and what did not, reducing the need to reproduce the problem to see the underlying issue.

System Diagram

Try the demo & give us feedback

We have a live demo environment with a couple systems you can test against. Use the 'Try The Demo' button below to launch it. You will need to know the urls you can test against - here are some examples that work:

System Description URL Method Request Body
Shopping app Generic get http://shop/buy GET
Pokemon Microservice Get a Pokemon http://demo-pokemon-api.demo.svc.cluster.local/pokemon?take=20&skip=0 GET
Pokemon Microservice Add a Pokemon http://demo-pokemon-api.demo.svc.cluster.local/pokemon POST { "name": "meowth", "type": "normal","imageUrl": "https://assets.pokemon.com/assets/cms2/img/pokedex/full/052.png","isFeatured": true}
Pokemon Microservice Import a Pokemon http://demo-pokemon-api.demo.svc.cluster.local/pokemon/import POST { "id": 52 }

More documentation about the installed Pokemon Microservice App, PMA, is at Pokemon Microservice App github

Wanna play with it? Try the Live Demo

button

We’re looking for feedback to help make Tracetest even better for developers, QA testers, and DevOPs. Please give us feedback on Discord or create an issue on Github

Getting Started

Check out the Installation and Getting Started guides to set up Tracetest and run your first tests! It is still a 'work in progress' so please provide us with any and all feedback - we live for input and will respond!

We are in the our early days with the project and need your help. Have an idea to improve it? Please Create an issue here or join our community on Discord.

Follow us on Twitter at @tracetest_io for updates

Give us a star on Github if you're interested in the project!

Documentation

Is available at https://kubeshop.github.io/tracetest

Issues
  • feat: http server with custom prefix

    feat: http server with custom prefix

    This PR... is a work in progress. Any help is much appreciated.

    TODO:

    • [ ] Figure out how to inject <base href="/"> into the page, and rewrite the JS path to be relative to that

    Changes

    • Allows to configure the HTTP server, host, port, and prefix

    Fixes

    • Expose tracetest on a particular prefix, the routing will be done by Traefik.

    Checklist

    • [ ] tested locally
    • [ ] added new dependencies
    • [ ] updated the docs
    • [ ] added a test
    enhancement frontend backend 
    opened by greut 15
  • Define all the states for a test run (launching, running, waiting for trace to finish, etc)

    Define all the states for a test run (launching, running, waiting for trace to finish, etc)

    TestRunResults can be generated when defining a test when you hit 'generate' or when running an existing test in either the UI or in the backend. They will have different states as they are being generated. Document these states and allowed others to provide input on them.

    opened by kdhamric 15
  • Add dropdown actions to each test table row with the delete option

    Add dropdown actions to each test table row with the delete option

    For this page Screen Shot 2022-05-03 at 7 51 08 a m

    We need to add a three dots option to the right side of each row with a delete option.

    Work with the backend team @mathnogueira & @schoren to see if the delete endpoint is available and if so integrate it when the user selects the option.

    frontend 
    opened by xoscar 8
  • View the JUnit results inside the app

    View the JUnit results inside the app

    We have the ability to download the JUnit results via the CLI. We need to be able to view it in the web app. The cli tight now only supports downloading the result of the run you’re currently running. The app would make it easy to get older runs.

    design 
    opened by olha23 7
  • Use text files to maintain test definitions

    Use text files to maintain test definitions

    Context

    One important aspect of automated tests is that they are part of the application. So, when the application changes, some tests might change as well. It is important that those changes can be reviewed by peers to ensure it's testing what needs to be tested. However, if we keep application code and test definitions apart, verifying those changes becomes a challenge.

    Therefore, it is very important that the test definitions can be versioned in the same repository as the application. This allows our users to be able to:

    1. Keep track of all changes in the test suite;
    2. Review changes before they are applied to the project;

    I think it would be extremely beneficial to the project if we stored all test definitions in a text format (probably YAML) so our users could have all benefits of using git.

    Proposed solution

    Instead of using a database to store all definitions, we start using yaml files instead. At the current state of the application, we could represent all our resources using the following yaml schemas:

    # Test schema
    nameOfTheResource:
        name: string
        execution:
            endpoint: string
            method: string
            headers:
                - name: string
                  value: string
            body: string
        assertions:
            - name: string
              attribute: string
              comparison: string
              value: string
    

    The problem is that the definition file might become huge if we store all tests and definitions in the same place. We can improve that experience by enabling the user to define multiple files and import them from the main file.

    Let's imagine we organize our files like this:

    my_project/
    ├─ tracetest.yaml
    ├─ tracetest/
    │  ├─ tests/
    │  │  ├─ create_user_test.yaml
    │  │  ├─ update_user_test.yaml
    │  │  ├─ get_user_test.yaml
    │  │  ├─ delete_user_test.yaml
    

    Considering that tracetest.yaml is the main definitions file. We could define it as:

    # my_project/tracetest.yml
    tracetest:
        config:
            # Tracetest would scan all files in this folder recursively and generate 
            # one big file by merging all files from that directory into one.
            tracetestDir: ./tracetest/ 
        tests:
            - createUserTest
            - getUserTest
            - updateUserTest
            - deleteUserTest
    
    
    
    # my_project/tracetest/tests/create_user_test.yml
    createUserTest:
        # Test definitions here
    
    
    # my_project/tracetest/tests/update_user_test.yml
    updateUserTest:
        # Test definitions here
    
    
    # my_project/tracetest/tests/delete_user_test.yml
    deleteUserTest:
        # Test definitions here
    
    
    # my_project/tracetest/tests/get_user_test.yml
    getUserTest:
        # Test definitions here
    

    #159 proposes the creation of a new type of resource. Referencing existing resources are extremely important for that idea to work.

    Note: This approach allows us to reuse configuration files if needed. E.g: using the same spanSelector to more than one test.

    Test execution

    Execution of tests would still happen in the server backend because it will need to be able to fetch logs from jaeger or tempo in order to work. Those resources usually live inside a k8s cluster and are not accessible from the internet. Thus, the backend would have to be running inside that cluster in order to connect to those services.

    To be continued.

    Questions to be answered

    1. How can we make we won't kill our UI by using text-based definitions?
    needs planning feature request 
    opened by mathnogueira 7
  • feat: update test using definition file

    feat: update test using definition file

    This PR makes the CLI update the test in case the id field is present in it.

    Questions

    • What should happen if the id doesn't exist in the server? Should the CLI fail or should we ignore it and create a new test?

    Checklist

    • [x] tested locally
    • [ ] added new dependencies
    • [ ] updated the docs
    • [x] added a test
    opened by mathnogueira 6
  • Make rerun operation copy the request, response, and trace from the old test result

    Make rerun operation copy the request, response, and trace from the old test result

    Problem

    Today we don't have any way of knowing which version of a test was used to generate a test run. This makes it harder to understand what changed between test runs and why suddenly a passing test started failing. Was that because of a change in the system under test or has the test itself changed?

    Why this is important

    Some systems have long-running tasks that might take dozens of minutes to complete and changes in the test definition will not change the trace it will generate, so, to enable users to have quicker feedback on their tests, we want to give them the option to reuse the request, response, and trace from an old test run to assert the new test definition.

    Solution

    When the endpoint /tests/:testID/run/:runID/rerun is called, it will fetch that specific run, copy the request, response, and trace fields, create a new test run and use the latest test defiition to assert it.

    backend 
    opened by mathnogueira 6
  • Missing trace error handling

    Missing trace error handling

    Sometime system under test fails to produce a trace due to various reasons.

    How do we handle this case?

    Example, app failed to send trace to otel collector:

    
    2022/03/01 10:07:50 http: panic serving 10.42.0.25:44246: rpc error: code = Unavailable desc = error reading from server: EOF
    goroutine 188 [running]:
    net/http.(*conn).serve.func1(0xc0005000a0)
            /usr/local/go/src/net/http/server.go:1801 +0x147
    panic(0xa5e6a0, 0xc000010020)
            /usr/local/go/src/runtime/panic.go:975 +0x47a
    go.opentelemetry.io/otel/sdk/trace.(*recordingSpan).End(0xc000702900, 0x0, 0x0, 0x0)
            /go/pkg/mod/go.opentelemetry.io/otel/[email protected]/trace/span.go:282 +0x345
    panic(0xa5e6a0, 0xc000010020)
            /usr/local/go/src/runtime/panic.go:969 +0x1b9
    go.opentelemetry.io/otel/sdk/trace.(*recordingSpan).End(0xc000280900, 0x0, 0x0, 0x0)
            /go/pkg/mod/go.opentelemetry.io/otel/[email protected]/trace/span.go:282 +0x345
    panic(0xa5e6a0, 0xc000010020)
            /usr/local/go/src/runtime/panic.go:975 +0x47a
    main.(*povService).httpHandler(0xc0001c9440, 0xbd23e0, 0xc00048b740, 0xc000594500)
            /src/main.go:85 +0xceb
    net/http.HandlerFunc.ServeHTTP(0xc0003a0b90, 0xbd23e0, 0xc00048b740, 0xc000594500)
            /usr/local/go/src/net/http/server.go:2042 +0x44
    go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp.(*Handler).ServeHTTP(0xc0001ccdc0, 0xbd23e0, 0xc00048b740, 0xc000594000)
            /go/pkg/mod/go.opentelemetry.io/contrib/instrumentation/net/http/[email protected]/handler.go:189 +0x977
    net/http.(*ServeMux).ServeHTTP(0xf8fc40, 0xbd15e0, 0xc00043c000, 0xc000594000)
            /usr/local/go/src/net/http/server.go:2417 +0x1ad
    net/http.serverHandler.ServeHTTP(0xc0003e0000, 0xbd15e0, 0xc00043c000, 0xc000594000)
            /usr/local/go/src/net/http/server.go:2843 +0xa3
    net/http.(*conn).serve(0xc0005000a0, 0xbd2ce0, 0xc000400040)
            /usr/local/go/src/net/http/server.go:1925 +0x8ad
    created by net/http.(*Server).Serve
            /usr/local/go/src/net/http/server.go:2969 +0x36c
    
    opened by povilasv 6
  • fix: use old proto image if amd64 arch

    fix: use old proto image if amd64 arch

    This PR enables people using AMD64 architecture to generate our protobuf code.

    Checklist

    • [x] tested locally
    • [ ] added new dependencies
    • [ ] updated the docs
    • [ ] added a test
    opened by mathnogueira 5
  • Design questions from implementation of new UX

    Design questions from implementation of new UX

    These are issues we want to correct in the new UI that we need @olha23 to help with:

    • with the DAG zoomed pretty far out, the 'selected span' was hard to distinguish. Perhaps a bit thicker border when around the selected span (there always should be one selected!)
    • We are not showing the # of selected spans when on the 'add assertion' screen any longer. This will not matter as much once we 'gray out' non selected spans, but we still need a number that changes as we add more filters as it will help people understand they are 'filtering down' and know how many spans will be tested by any checks.
    design frontend 
    opened by kdhamric 4
  • Simple issues from implementation of new UX

    Simple issues from implementation of new UX

    These are items we want to change in the new UI that do not require design / @olha23 input:

    • We want to be able to click on 'Test Status: Finished' and have the bottom test area expand (we watch somebody do this... might as well help get them to the test if they do not see it at the bottom)
    • Click an X to delete one filter does delete the filter... but it puts you in 'add a new filter' mode and prompts you for an attibute. I think you should have to click in the filed again to start the 'add filter' process.
    • When editing an assertion, the 'Add' button should say 'Save'
    • If you add a second check line (ie add check), there is no way to delete that line. Should have a trash can next to it.
    • Probably should allow you to hit 'add check', not enter anything, then hit 'Add' or 'Save'
    • 'Cancel' when adding an assertion closes the test area at the bottom - it should not.
    frontend 
    opened by kdhamric 4
  • [DAG] Add new DAG data model

    [DAG] Add new DAG data model

    Context: as explained in #710 we want to include a new data model for a span in our DAG. The goal of this ticket is to include the new base data model.

    AC1 The new base data model for a DAG span should include:

    • Semantic convention type
      • General
      • HTTP
      • Database
      • RPC/RMI
      • Messaging
      • FaaS
      • Exceptions
      • Compatibility
    • Operation name
    • Service name
    • Span kind
      • Client
      • Server
      • Producer
      • Consumer
      • Internal
    • Span context
      • Span ID
      • Dependency (already solved by connectors in the graph)
    • Total count of Attributes
    • Total count of Events (we don't support events in the BE, we need to sync with the BE team on this)
    • Programming language (telemetry.sdk.language)
    frontend 
    opened by jorgeepc 0
  • Implement edit test

    Implement edit test

    As part of the new create test flow, we need to provide the ability for users to update the tests.

    The end goal for every triggering method is to generate a test object in the backend to hold on to the service, request, and test definitions. And as these "plugins" might use different sets of data to get to that point we cannot rely on them to re-execute the entirety of the flow. To accommodate this, we'll come up to the conclusion that the edit flow should be done entirely over the test object as it has some predefined fields that will never change.

    Acceptance criteria:

    AC1 After a successful test creating As a user, I should have the ability to initiate the edit flow by clicking the edit test button

    AC2 As a user after clicking on the edit test button I should be presented with a modal to update the test details

    AC3 As a user looking at the edit test modal I should be able to update the basic details such as name, description, and triggering transaction.

    AC4 As a user I looking at the edit test modal The different inputs should match the specific triggering method I choose when creating it.

    AC5 As a user looking at the edit test modal After filling up all of the required details and clicking save A new test run should be executed and I should be redirected to the trace view

    frontend 
    opened by xoscar 0
  • [DAG] Upgrade react-flow-renderer to v10

    [DAG] Upgrade react-flow-renderer to v10

    This PR upgrades the react-flow-renderer package to v10. It also introduces some changes around our DAG logic.

    Changes

    • react-flow-renderer v10.
    • Implements a controlled flow for the DAG data, and moves it to redux.
    • Removes side effects in the render cycle. Now the DAG updates happens at the reducer level.
    • New DAG.provider and refactor of DAG components.

    Fixes

    • #781

    Checklist

    • [x] tested locally
    • [x] added new dependencies
    • [ ] updated the docs
    • [x] added a test

    Check this new focus animation 😉

    2022-06-23 15 07 00

    frontend 
    opened by jorgeepc 0
  • 🧪  780 implementing new way of creating tests

    🧪 780 implementing new way of creating tests

    This PR is quite chunky! 🥴 We are adding a new way of creating tests by migration from the modal to a new page. We are also introducing plugins and sequences depending on the different steps a plugin might have.

    Changes

    • Create test page
    • Plugin logic

    Fixes

    • https://github.com/kubeshop/tracetest/issues/780

    Checklist

    • [x] tested locally
    • [ ] added new dependencies
    • [ ] updated the docs
    • [x] added a test

    https://www.loom.com/share/8f192908584542f1b30cb74267609981

    frontend 
    opened by xoscar 0
Releases(v0.5.4)
  • v0.5.4(Jun 22, 2022)

    Changelog

    • 2bf7c58 #704 - add auth fields to CreateTestForm
    • d88ae16 Add test run instrumentation (#786)
    • 15ff8a8 Add websocket client (#729)
    • c5cacea Bump undici from 5.2.0 to 5.5.1 in /web (#760)
    • aae7f6b Delete app.go
    • 8a194d8 Improve websockets notifications (#757)
    • baaac35 Merge branch 'main' into julianne/docs/tracetest/updates-06-13-2022
    • 470becd Merge pull request #733 from kubeshop/feat/http_auth
    • 46fb8c9 Merge pull request #754 from kubeshop/julianne/docs/tracetest/updates-06-13-2022
    • 366bb79 Misc Edits
    • ebcfe50 add basic tracetesting for test lifecycle (#765)
    • bf8b254 add gzip compression on responses (#784)
    • baae502 add id to test (temp fix to avoid duplication) (#748)
    • edef625 add resourceID to ws subscription response (#771)
    • 939720c debug
    • c075ea3 feat: Allow assertions at the span collection level (#778)
    • b47c592 feat: add resource to websocket responses (#747)
    • 02175a3 feat: return selectors as a structure as well as a query (#774)
    • f86319a feat: test definition on server (#762)
    • 831f89e feat: test tracetest list endpoint (#736)
    • 997945c feat: yaml definition endpoint (#768)
    • 64e33ad fix CLI tests on CI pipeline (#763)
    • b1c3cf9 fix demo and beta deployments ws timeout settings (#745)
    • 38734c7 fix: assertion query quoting (#740)
    • e1ed3bc fix: better variable injection (#749)
    • 398c60f fix: make spaces around operators optional in selector parsing regex (#761)
    • b41b263 import and export endpoints (#783)
    • f476f58 map ws responses to openapi (#746)
    • 7f47264 remove unused reference test run (#755)
    • 51c5bb0 update dependencies to solve security issue (#750)
    • 11ef814 update pipeline to deploy main commits to integration (#766)
    • 25cfb83 🔁 712 Improve display of selected spans (#772)
    • 74f83cb 🔍 712 implement full text search (#775)
    • 7a7192c 🗃 703 View the test definition inside the app (#756)
    Source code(tar.gz)
    Source code(zip)
    tracetest-v0.5.4-darwin-amd64.tar.gz(3.63 MB)
    tracetest-v0.5.4-darwin-amd64.tar.gz.md5(33 bytes)
    tracetest-v0.5.4-darwin-arm64.tar.gz(3.44 MB)
    tracetest-v0.5.4-darwin-arm64.tar.gz.md5(33 bytes)
    tracetest-v0.5.4-linux-amd64.tar.gz(3.51 MB)
    tracetest-v0.5.4-linux-amd64.tar.gz.md5(33 bytes)
    tracetest-v0.5.4-linux-arm64.tar.gz(3.18 MB)
    tracetest-v0.5.4-linux-arm64.tar.gz.md5(33 bytes)
    tracetest-v0.5.4-windows-amd64.zip(3.50 MB)
    tracetest-v0.5.4-windows-amd64.zip.md5(33 bytes)
    tracetest-v0.5.4-windows-arm64.zip(3.18 MB)
    tracetest-v0.5.4-windows-arm64.zip.md5(33 bytes)
  • v0.5.0(Jun 8, 2022)

    Changelog

    • 3ddc177 668 fixing redux state issuen while on edit mode
    • 5033739 Add GA debug code
    • db17d03 Add GA debug code
    • e8d981b Add zoom in and zoom out controls in test view page (#671)
    • d1a8955 Feat/tour (#685)
    • 2614d9c Fix beta-deploy docker args passing
    • a8994be Fix event propagation when removing selector (#674)
    • d2e2f06 Fix: inject GA credentials on build (#688)
    • 07de300 Implement delete run (#666)
    • 05c2355 Merge branch 'main' of github.com:kubeshop/tracetest into main
    • 1c069c0 Merge pull request #676 from kubeshop/julianne/docs/tracetest/updates-06-06-2022
    • b0837b0 Merge pull request #687 from kubeshop/julianne/docs/tracetest/updates-06-07-2022
    • aff3b49 Revert all debug changes
    • ee586d7 Setup script and docs (#494)
    • abca575 Update beta-deploy.yml
    • 6d2fb55 Update mkdocs.yml
    • a39a776 Update mkdocs.yml
    • e7939c0 Updated Images in Create Test Doc
    • e17262f Updates to Assertion Document
    • 55715a9 feat: GA Beacon for new server installs (#692)
    • 2831bc4 feat: JUnit output (#669)
    • dc0db0a feat: add GA beacon to setup script (#689)
    • 136c2cb feat: build and publish CLI (#663)
    • 4854cc2 feat: http instrumentation (#675)
    • 3292cc9 feat: save junit file from cli (#677)
    • e5135a3 fix release action
    • 3836991 fix run json encoding (#683)
    • b4228cb fix typo in setup script url
    • 33307ad fix: map correct error type for SpanAssertionResult.CompareErr (#690)
    • 17a1545 fixing mkdocs
    • 1cc7408 fixing mkdocs
    • 0a59d23 fixing mkdocs
    • 30f41ad fixing mkdocs
    • 963bac2 hardcode beta version value for GA
    • 7322c9b test no sha prefix
    • a2a8ac2 ☠️ 657 Displaying skeleton diagram when trace is not ready (#660)
    • f4ec273 🐛 668 Issues with state when in draft mode (#673)
    • a940fe3 🐛 656 multiple minor fixes (#684)
    • 72223f8 👀 631 adding analytics events to the new features (#672)
    • 15c8652 📄 632 update documentation to show new capability and screens (#682)
    • 5e7d2d4 🦟 reverting selected assertion check on selector (#693)
    Source code(tar.gz)
    Source code(zip)
    tracetest-v0.5.0-darwin-amd64.tar.gz(3.62 MB)
    tracetest-v0.5.0-darwin-amd64.tar.gz.md5(33 bytes)
    tracetest-v0.5.0-darwin-arm64.tar.gz(3.43 MB)
    tracetest-v0.5.0-darwin-arm64.tar.gz.md5(33 bytes)
    tracetest-v0.5.0-linux-amd64.tar.gz(3.50 MB)
    tracetest-v0.5.0-linux-amd64.tar.gz.md5(33 bytes)
    tracetest-v0.5.0-linux-arm64.tar.gz(3.17 MB)
    tracetest-v0.5.0-linux-arm64.tar.gz.md5(33 bytes)
    tracetest-v0.5.0-windows-amd64.zip(3.49 MB)
    tracetest-v0.5.0-windows-amd64.zip.md5(33 bytes)
    tracetest-v0.5.0-windows-arm64.zip(3.17 MB)
    tracetest-v0.5.0-windows-arm64.zip.md5(33 bytes)
  • v0.4.3(Jun 3, 2022)

    Changelog

    • 44d1d6e Add test run button to the test page (#649)
    • 149d682 add deleteTestRun endpoint (#659)
    • 83119b3 add export cmd (#650)
    • 4f6dff7 feat: add wait for results flag in test run cmd (#652)
    • 7cda828 feat: better CLI configuration setup (#661)
    • 908b555 feat: support env variables in definition file (#658)
    • b970d04 fix cli samples and tests (#647)
    • baf8187 fix string quote in export cmd (#651)
    • eeea9fd fix: don't validate description because our server doesn't use it (#653)
    Source code(tar.gz)
    Source code(zip)
  • v0.4.2(Jun 3, 2022)

    Changelog

    • 44d1d6e Add test run button to the test page (#649)
    • 149d682 add deleteTestRun endpoint (#659)
    • 83119b3 add export cmd (#650)
    • 4f6dff7 feat: add wait for results flag in test run cmd (#652)
    • 7cda828 feat: better CLI configuration setup (#661)
    • 908b555 feat: support env variables in definition file (#658)
    • b970d04 fix cli samples and tests (#647)
    • baf8187 fix string quote in export cmd (#651)
    • eeea9fd fix: don't validate description because our server doesn't use it (#653)
    Source code(tar.gz)
    Source code(zip)
  • v0.4.1(Jun 2, 2022)

  • v0.4.0(Jun 2, 2022)

    Changelog

    • 7eafb63 #566 Test result area should be expandable in size
    • 9b5a104 Add assertion check in attribute list (#582)
    • af44643 Add execution time in test run response (#612)
    • 9a3b0c5 Bump async from 2.6.3 to 2.6.4 in /web (#637)
    • 046b802 Bump ejs from 3.1.6 to 3.1.8 in /web (#597)
    • 34bfc95 Bump follow-redirects from 1.14.7 to 1.15.1 in /web (#634)
    • c7300d9 Bump node-forge from 1.2.1 to 1.3.1 in /web (#596)
    • d7fa469 Fix comparators expected/actual order (#639)
    • 3bd741d Fix onClick propagation in assertion header (#601)
    • 2265b75 Fix timeline scroll (#621)
    • 9c6ec46 Fix: ensure consistent ordering of test definitions (#604)
    • c457ba7 Fix: test time (#586)
    • dc04664 Improve header in test page (#642)
    • 7b1923a Make assertion selector control fading of non selected spans (#590)
    • a057a7a Merge pull request #530 from kubeshop/feat/remove_snapshots
    • 00f0030 Merge pull request #591 from kubeshop/566-test-result-area-should-be-expandable
    • 1cf9d86 Merge pull request #603 from kubeshop/563-revert
    • c19285d Merge pull request #611 from kubeshop/feat/drawer
    • 6ef5bfa Merge pull request #614 from kubeshop/610-toggle-testcard-area
    • db89c79 Merge pull request #619 from kubeshop/new-drawer-max-height
    • a2532c0 Merge pull request #620 from kubeshop/drawer-ux
    • 9525133 add createdAt for tests and sort query (#615)
    • 7c52e99 apply Jorge comments
    • 463ae28 apply PR comments
    • 0d3032a change cursor for dragging the drawer to match Figma
    • e54fb48 clean problematic fields when copying run (#641)
    • 655840b deal with the crevron icon position
    • 753f6bb feat: cli create test command (#609)
    • 1b5c885 fix some tests
    • 8d87ed0 fix test runs sort field in db query (#599)
    • f58d11b fix tests
    • d185a96 implement revert logic by using originalSelector
    • 988f219 make whole TestCard trigguer onCollapsed flow #610
    • 58e6fa5 new drawer behavior
    • d106eb3 new drawer behaviour
    • aac9a5d new drawer max height
    • 1b88db6 remove snapshots
    • 7ea65c0 rename vendors to external to avoid confilcts with go tooling (#616)
    • 2d9085d ℹ️ 568 analyze how the selector items in title bar of an assertion should be shown (#595)
    • 9a3da84 📑 570 adding custom tab for database and messaging span types (#588)
    • 2a804ac 🪟 618 add assertion and copy buttons do not show next to attributes at all screen sizes (#628)
    Source code(tar.gz)
    Source code(zip)
  • v0.3.0-2(May 27, 2022)

    Changelog

    • 98f7506 505 Refactor CreateTestModal (#548)
    • f78a8f5 511 adding the types coming from the openapi specs
    • 565bfee 525 adding versioning and edit mode for test definitions
    • cc0ae32 Add assertion feedback endpoint (#542)
    • c04f483 Add spans extra data (#520)
    • a075a93 Clean traces api format(#490)
    • 396117d Delete assertion & Edit assertion tooltips & change delete to a trashcan icon
    • b48a4c0 Fix server mod name (#577)
    • 424aba9 Merge branch 'main' into 525-create-edit-mode-on-the-test-details-screen
    • ed4b9c9 Merge pull request #508 from kubeshop/feat/assertion_span_tag
    • 51b2180 Merge pull request #521 from kubeshop/511-integrate-new-backend-types-structure
    • efe0136 Merge pull request #551 from kubeshop/513-simple-ux-issues
    • b8da7ee Merge pull request #575 from kubeshop/525-create-edit-mode-on-the-test-details-screen
    • 06c5ea9 Merge pull request #579 from kubeshop/564-test-result-page-changes
    • b2cf5b9 Move server stuff to server dir (#543)
    • a4ccff1 Remove the #de22 label from span label
    • 1e13a8e Show 'Timeline view' and 'Graph view' mouseover on the buttons for switching view.
    • ff8b429 Show a chevron on the test result bar to indicate it can be opened & closed
    • d480a4e Upgrade go 1.18 (#544)
    • a0c919b When editing an assertion, the 'Add' button should say 'Save'
    • 2cfa21c add gte and lte comparators (#546)
    • aec5294 add neq comparator (#559)
    • 43b5c02 add port-forward script
    • e14dd42 add selector uniqueness validation (#574)
    • 7a21982 add test fixtures to improve test setup (#556)
    • 9d2355f adds dev script to call port-forward & start concurrently
    • ea0962a adds missing semicolon
    • 141aa9f adds way to delete second check line
    • 1e1775c apply PR review comments
    • 068daa6 apply prettier formatting
    • d5ae5ed bottom of test result should be open when you first come to the test
    • 2615bb8 bufixes
    • f416537 change start and end time to unix milli (#573)
    • df8f6e8 click on 'Test Status: Finished' and have the bottom test area expand
    • 9956003 feat: add version to Test and TestRun API definitions (#528)
    • c95dab4 feat: cli list tests (#517)
    • fbe66a5 feat: cli tests pipeline (#516)
    • f430d74 feat: rerun test run creates a new run and copy data from original one (#555)
    • 6a11088 fix cli
    • c7aa554 fix migration 4 (#554)
    • 9b10bb5 fix rerun id (#558)
    • 7382247 fix: return run test version (#576)
    • 6b0dac2 fix: test definition versioning (#584)
    • 79b8024 fix: test deletion (#557)
    • 035ee81 fix: use old proto image if amd64 arch (#529)
    • 53bcb19 fixing and adding tests
    • 24f79d5 fixing and adding tests
    • 4dcb6ec fixing some styling
    • b50bc38 ignore cli for gh action release
    • 26c5fd8 map parentID in flat structure (#541)
    • fc75360 remove rebasing issues
    • 4a14ba4 use convention background color to span tags
    • fff7e4d ✨ 549 fixing tooltip alignment (#583)
    • 0eea3af 🔀 562 when creating or editing an assertion validate that the selector is unique (#578)
    • 47718e9 🖼 522 adding multiple design and UX fixes (#545)
    • e2530dd 🤖 493 integrate backend assertions (#540)
    Source code(tar.gz)
    Source code(zip)
  • v0.3.0(May 19, 2022)

    Changelog

    • 6acdf4e 458 adding integration tests
    • 4492b2b 458 home page base UX changes
    • 0a8d1ef 482 updating the UX for the test details page
    • ddd3f63 482 updating the UX for the test details page
    • b77e80f 482 updating the UX for the test details page
    • 9e311bb Merge pull request #446 from kubeshop/feature/http_span
    • 745e833 Merge pull request #467 from kubeshop/458-new-ux-home-page
    • a59cf8b Merge pull request #470 from kubeshop/feat/run-test-integration-test
    • 1762e75 Merge pull request #476 from kubeshop/feature/hooks_testing
    • baa83b0 Merge pull request #478 from kubeshop/feature/redux_testing
    • 89a0a63 Merge pull request #481 from kubeshop/feature/components_testing
    • 7a79ace Merge pull request #484 from kubeshop/482-new-ux-test-details-4
    • c80f10c Merge pull request #501 from kubeshop/feat/new_selector_logic
    • 4ca7e26 PR changes applied
    • 2706858 PR changes applied
    • c69b8ef add .npmrc to make sure we pin dependencies versions
    • f19c5b8 add basic redux testing
    • 7cf4983 add basic test suites for hooks folder
    • 49830b1 add more tests to components folder
    • ec96440 add newSelectorLogic method
    • 017d138 add tests to components folder
    • 608ea41 apply Oscar PR review requests
    • f95f226 apply PR review requested changes
    • deab9c3 cover test execution with integration test
    • a3ca211 create AttributeTabs for GenericHttpSpanDetail
    • 80c6851 create app object to handle application startup and teardown
    • 0ae0c09 feat: cli structure (#498)
    • 983ae1e feat: create GenericHttpSpanDetail component
    • 27e52ae feat: endpoint to rerun test assertions on result (#489)
    • 10c05a4 feat: endpoint to verify which spans are selected by selector (#488)
    • 83cb950 feat: paginate /tests and /tests/:testID/results endpoints (#483)
    • 2add800 feat: run assertions on backend (#450)
    • a5cfd97 fix conflicts
    • 1f41149 fix my own PR review comments
    • 7c5373b fix tests after creating the app object
    • d622b60 fix: mermaid graphs on docs (#473)
    • 8875ad1 generate coverage file
    • d8e9223 limits tests to folders containing tests
    • 2d44546 more tests
    • 5db25e1 more tests
    • fca16bd more tests
    • 57e1251 remove braces from newSelectorLogic
    • cfd3859 removing wrong test
    • f61b297 rename module test to testmock (#487)
    • bfb3e72 resolve css glitches
    • e0e335e restructure app and routing
    • 0976e6d revert commented lines
    • 5819086 use AND condition for now
    • 1ebe755 ✨ 461 adding the test results new UX (#491)
    • 36386cd 🆕 [New UX] Create/Edit Assertion Flow (#506)
    • 8e2ef6c 💅🏽 461 [New UX] Trace View # 3 (Test Results) (#477)
    • d0ba633 🔥 460 #1 adding new styles for the span details (#475)
    • b89e883 🖼 459 adding new test details and trace view pages (#474)
    • 4fe5582 🖼 460 [New UX] Trace View # 2 (Span Details) (#485)
    • 2c98fda 🤖 443 adding tests for gateways services and models (#496)
    Source code(tar.gz)
    Source code(zip)
  • v0.3.0-1(May 19, 2022)

  • v0.2.3(May 10, 2022)

  • v0.2.2(May 10, 2022)

  • v0.2.1(May 10, 2022)

    Changelog

    • b0af415 Fix ga settings (#466)
    • 2eb2421 Merge pull request #447 from kubeshop/docs/link-selectors
    • 9e0cf27 Merge pull request #462 from kubeshop/feat/integration-test-with-pokemon-api
    • 50e6ab3 chore: clean up containers after test execution
    • ac1da98 enable analytics on helm
    • 3e3c221 feat: add way of starting the pokemon api demo to run our integration test
    • 67ec112 fix: jaeger reporting
    • bcb25e0 start worker container as well
    • a5d06a4 test no condition
    Source code(tar.gz)
    Source code(zip)
  • v0.2.0-3(May 10, 2022)

    Changelog

    • 5e312ec Added link to discorded
    • ac6cbab Merge pull request #456 from kubeshop/add-link-to-readme-for-discord
    • 3827f90 💣 453 adding integration tests for the trace view (#457)
    • 85e5b71 🧪 442 adding integration tests for the test details page (#455)
    Source code(tar.gz)
    Source code(zip)
  • v0.2.0-2(May 6, 2022)

    Changelog

    • 9433b0a 395 updating the event names (#423)
    • 4fd1e94 441 adding integration tests for the home page (#448)
    • 1cb7590 Merge pull request #407 from kubeshop/delete-test
    • 9817bf8 Merge pull request #419 from kubeshop/docs/selectors
    • 9ab8e38 Merge pull request #421 from kubeshop/feat/first-last-selectors
    • d251b07 Merge pull request #427 from kubeshop/feat/span-selector-name
    • aaf2f59 Merge pull request #429 from kubeshop/feature/scroll
    • a68c70a Merge pull request #430 from kubeshop/fix/analytics
    • 312cefe Merge pull request #438 from kubeshop/feat/ci-tests
    • 2ba9515 Merge pull request #445 from kubeshop/feat/empty-selector
    • 32cc067 Run tests using make
    • 9c617f5 add button to delete test by id
    • 3a2a180 add docs on selectors
    • 9d64a68 add postgres on CI runner
    • aa4c193 add vendor folder to gitignore
    • 4118b5f apply PR review changes
    • b31a95b chore: code cleanup & organization
    • 53c6151 chore: make global layout flex
    • 3474dfd ci: fix
    • 467765d doc: add numbers on flowchart
    • 34bbae3 doc: remove part that says selector syntax is based on CSS
    • 60e1380 dont deploy app when PR is open
    • a35231e feat: support :first and :last pseudo classes
    • c18155d feat: support empty selector
    • d46133c feat: support filter by span name
    • ce944f5 feat: use gnomock to run postgres to test app
    • 19d148a fix: :last description
    • f245796 fix: analytics client
    • 8335cdd fix: colors
    • d928753 fix: db tests
    • f703038 fix: doc
    • eae6611 fix: docs
    • 0151c23 fix: docs
    • 2cdaec4 fix: fix or condition example
    • 1b5c8db fix: go vet
    • 9b0ced1 fix: improve header
    • 407f187 fix: parent color
    • a1dcff6 fix: typo
    • 10affc6 fixing typescript issue
    • b0d2745 remove go-vet for now
    • ed61338 remove postgres container from CI
    • 34d0c22 run go tests on PR
    • 8cc7668 setup config.yaml in CI env
    • ce140bd update docs
    • 7b6af40 use different config
    • cf43a47 validate test result update state (#444)
    • d8585ca ✖️ 435 updating the failed trace component (#440)
    • 037e72e 🏷 402 updating the attributes selection to match affected spans (#424)
    • e00f6c9 🐛 426 bug enable json comparison (#437)
    • afa9a8a 💣 214 adding support for select all spans after removing all of the selectors from the modal (#425)
    • db44986 🤖 348 adding sentry to the web app (#394)
    • 8a89f0e 🧪 431 adding testing frameworks (#439)
    Source code(tar.gz)
    Source code(zip)
  • v0.2.0-1(May 4, 2022)

    Changelog

    • 866986d Added link for Tracetest Blogs
    • 883a2c4 Implement helm deploy for beta
    • 46cbebb Merge pull request #365 from kubeshop/Remove-downloads-and-Go-images-from-header-on-readme
    • 6b75c52 Merge pull request #366 from kubeshop/Change-blog-link
    • 988674c Merge pull request #367 from kubeshop/julianne/docs/tracetest/updates-04-26-2022
    • a4cd837 Merge pull request #370 from kubeshop/feat/websocket
    • d44d261 Merge pull request #371 from kubeshop/feat/internal-pub-sub
    • f9b0a8b Merge pull request #373 from kubeshop/feat/websocket-notifications
    • 5be888d Merge pull request #378 from kubeshop/fix-trace-polling
    • e4e1a80 Merge pull request #380 from kubeshop/bugfix
    • 7b03f47 Merge pull request #381 from kubeshop/bugfix2
    • bfd7fb1 Merge pull request #383 from kubeshop/mm/fix/headerguidedbutton
    • 4d134b5 Merge pull request #384 from kubeshop/mm/fix/consolewarning
    • b75b691 Merge pull request #392 from kubeshop/feat/migration
    • 7876e86 Merge pull request #396 from kubeshop/feat/selector-syntax
    • 4b8d529 Removed downloads and Go images
    • 4af945b Update create-test.md
    • ad9631b add basic assertion engine and comparators
    • 269a27d add basic assertion functionaliy
    • 121cbdc add basic comparators
    • 4a12391 add convertion between parser model and real selector
    • ad42add add delete test endpoint (#406)
    • 9306455 add: child selector implementation
    • b3ff345 add: test to ensure contains works
    • 1e290c2 add: test to ensure multiple span selectors
    • d1b3108 add: use go-migrate to manage db migrations
    • 19e5768 change: use id instead of subscriber to unsubscribe
    • 423f5a0 chore: disable structtag check to improve readability of parser
    • 1713b2e chore: move selector package to inside of assertions module
    • 3868441 chore: remove comment
    • c709a72 chore: rename parser structs to prevent conflicts
    • 868f1d6 chore: split message and event
    • 9e66b4e convert parser model into actual selector
    • a8b766a feat: add css-like syntax parser
    • acc78c4 feat: add subscribe command
    • 0fee277 feat: add subscription module
    • f4b9e6a feat: add unsubscribe command
    • b513231 feat: keep websocket connection open
    • 4cf7ac5 feat: nth_child pseudo class
    • 4017356 feat: send test result updates to websocket
    • 5dd1536 feat: websocket endpoint
    • f857616 fix trace poller
    • cf152e8 fix trace poller make it sleep longer
    • 7b66acd fix trace polling
    • ac56dd5 fix: add guided tour button to the header
    • af59040 fix: add keys to submenu
    • a0d548c fix: break out of loop if websocket connection fails
    • fc3e7ad fix: refactor code to remove singleton subscription.Manager
    • b78264b fix: remove comma from expression on test
    • c8b697a fix: remove unused var
    • 59482c5 fix: rollback error handling
    • eacfabf fix: simplify condition on manager.go
    • 6d717a2 fix: use object instead of pointer to pass message
    • f811ebc fix: use ticker instead of sleep to ping connection
    • d95f3e0 implement new architecture using openapi as a lib (#377)
    • 466d75d improve testing of comparators
    • 3eb12fe remove unused file
    • 71d4cb4 replace GetManager() with NewManager()
    • fc00ab2 test helm deploy
    • 034d4c0 test helm deploy
    • f8882f6 test helm deploy
    • 75a9249 update selectors interface
    • bdfd16c use selectors to filter spans in assertions (#410)
    • 03e78e0 ✨ 374 New File Names (#382)
    • e16d7fe 🏭 375 adding data parsing for traces and spans (#386)
    • f52fe54 🏭 376 adding component factories for span detail, diagrams and trace node (#393)
    • d29f7ba 👹 388 adding selection of examples when creating a test (#391)
    • 84963a7 🗳 387 adding gateways, slices, selectors and moving calculations to redux/selectors (#390)
    Source code(tar.gz)
    Source code(zip)
  • v0.2.0(Apr 26, 2022)

    Changelog

    • 85e346e Adding logos
    • db8432d Merge pull request #359 from kubeshop/Add-logo
    • 5ecfb44 Merge pull request #360 from kubeshop/fix/analytics-request-validation
    • ffaa863 Merge pull request #361 from kubeshop/fix/disable-tls
    • 2c2b8a7 Merge pull request #363 from kubeshop/feat/backend-analytics
    • 841655f feat: backend analytics
    • 61b71a9 fix: disable tls check on analytics (unsafe)
    • 84b902c fix: error handling
    • 02db22f fix: timeout duration
    Source code(tar.gz)
    Source code(zip)
  • v0.1.0(Apr 26, 2022)

    Changelog

    • a9f3464 Added video and fixed development doc page
    • da9ed04 Changed video to html
    • 32400c5 Changes in prep for release
    • b82a6cc Corrected the video
    • 07fdc92 Merge pull request #331 from kubeshop/julianne/docs/tracetest/updates-04-22-2022
    • 93367c7 Merge pull request #332 from kubeshop/Readme-changes
    • 178c76c Merge pull request #333 from kubeshop/Readme-changes
    • 157d968 Merge pull request #334 from kubeshop/fix-up-poll
    • f18fde0 Merge pull request #335 from kubeshop/mm/fix/tagspace
    • 8264f9d Merge pull request #336 from kubeshop/revert-334-fix-up-poll
    • 1e26f8f Merge pull request #337 from kubeshop/fix
    • 0774e74 Merge pull request #338 from kubeshop/fix-up-poll3
    • 3488868 Merge pull request #339 from kubeshop/revert-338-fix-up-poll3
    • d49048e Merge pull request #340 from kubeshop/mm/fix/redux
    • 4fcd39c Merge pull request #341 from kubeshop/mm/fix/organizefolders
    • 2a08b4f Merge pull request #342 from kubeshop/mm/fix/cannotclosecreatetestmodal
    • a8d8085 Merge pull request #345 from kubeshop/matheus/server-analytics
    • 44bbb25 Merge pull request #350 from kubeshop/mm/fix/hideguidedtour
    • 167e904 Merge pull request #351 from kubeshop/fix-getting-started
    • 0ad9a72 Merge pull request #352 from kubeshop/feat/inject-ga-credentials
    • 2cb4faa Merge pull request #353 from kubeshop/Add-video
    • b3345a6 Merge pull request #355 from kubeshop/Change-video-link
    • 06508fe Merge pull request #356 from kubeshop/fix/html-template
    • 10c04e1 Merge pull request #357 from kubeshop/fix/analytics-request-validation
    • 3080854 Revert "speed up poll"
    • e57b89b Revert "speed up poll"
    • 70ab03f Update Docs with Formatting, Demo Screenshots
    • 664fc8f Update README.md
    • 022e85a Update README.md
    • 6b966ed Update getting-started.md
    • 701c43c Update index.md
    • 83b2c46 chore: don't break app if analytics is not setup
    • 03d3b0c feat: add server_started analytics event
    • ccd486f feat: inject analytics credentials into html
    • e1a47f8 fix getting started
    • d908f4d fix no parent span
    • ece0468 fix: cannot dismiss create test modal
    • c736b44 fix: hide guided tour
    • 6b3ec41 fix: html template
    • f261fd6 fix: move tourguide hook to hooks folder
    • a0b3e92 fix: organize redux folder
    • 5314f50 fix: tagspace
    • ce7e401 fix: validation of analytic request
    • a86dbd8 fixing guide tour not closing
    • d42b06a invert condition
    • a3170c6 removing the default meassurement id from the repo
    • 185ebf1 speed up poll
    • e970b1d speed up poll
    • 0dfd462 📈 226 Instrument app with Google Analytics (#354)
    Source code(tar.gz)
    Source code(zip)
  • v0.0.1-6(Apr 25, 2022)

    Changelog

    • 234783d 302 adding guided tour logic
    • d468fd4 302 adding guided tour logic
    • 5135ad5 320 allowing removal of every assertion check from the modal (#327)
    • 43a534e Merge pull request #322 from kubeshop/workflow
    • 6ea36b7 Merge pull request #323 from kubeshop/workflow2
    • 7d7cf30 Merge pull request #324 from kubeshop/workflow3
    • a43f3f0 Merge pull request #328 from kubeshop/matheus/add-bot-to-manage-issue-states
    • c398581 Update build.yml
    • ce8447d Update build.yml
    • faa7bcc add autodeploy workflow
    • c5de574 add autodeploy workflow
    • c48cdcc add contains operator (#326)
    • a7b3e32 build docker image in workflow
    • 90754f7 feat: add github bot to change issue states based on project
    • 0e0e1c3 fix workflow
    • cce970a 🐛 Fixing minor bugs for both the assertion form and the custom table (#319)
    • 941fd22 🐛 fixing guided tour not saving to the storage (#329)
    Source code(tar.gz)
    Source code(zip)
  • v0.0.1-5(Apr 22, 2022)

    Changelog

    • 1ff21e6 .
    • d949f0c 293 fixing create assertion form bugs
    • 55bb685 Add GetTraceByID jaeger implementation
    • 7fdd2e4 Add constants for each state and add CREATED state
    • 15074a0 Add docs to setup a local dev env (#189)
    • a206fec Add state field to TestRunResult
    • 31b7fe7 Add tutorial to run locally
    • e778d47 Add uuid and remove TestResult object
    • 49f50fc Added Creating Tests Page
    • 40e496d Added Google tracking code
    • d989081 Added a couple images
    • 2c335b4 Added assertion GET and POST
    • fee3e7e Adding changes to the readme
    • 09da6ae Adding material for the demo
    • 9af6982 An Open API setup with REST API scaffolding
    • 32d8608 Apply suggestions from code review
    • de4cdd5 Change how to run server locally
    • 1652ac5 Change system image
    • 730a38e Changing readme and setting up initial documentation pages
    • adcf2f0 Correct extension
    • e610c7c Create SelectorDefaultAttributes.ts
    • 866b5db Create index.md
    • 218ec3b Create mkdocs action
    • 7eab56f Fix RunTest return object (#273)
    • 8594e82 Forgot to close tag
    • 1291fe0 Implement async test runner and trace poller (#225)
    • 8c10cbd Implement test states in backend (#187)
    • 4f6ba57 Initial commit
    • 67c496f Merge branch 'main' into kens-changes
    • f22187d Merge branch 'main' into mm/feat/assertions
    • 9b9f8d8 Merge branch 'main' into mm/feat/testpage
    • 9dbdb98 Merge branch 'main' into mm/fix/assertionresult-openapi
    • 3768616 Merge branch 'main' into mm/fix/assertionresult-openapi
    • b397521 Merge branch 'main' into mm/fix/loadingstate
    • 3c1d307 Merge branch 'main' into mm/fix/loadingstate
    • ae721d5 Merge branch 'main' into mm/fix/loadingstate
    • f779333 Merge branch 'main' into mm/fix/testpage
    • a1c576b Merge branch 'main' into mm/fix/textpropegateevent
    • b8b8d8b Merge branch 'main' of https://github.com/kubeshop/tracetest
    • f084ff9 Merge pull request #1 from kubeshop/openapi
    • 9c7b18b Merge pull request #10 from kubeshop/implement-test-api
    • 7c9195d Merge pull request #107 from kubeshop/Add-GA-tracking-code
    • accce11 Merge pull request #108 from kubeshop/create-mkdocs-workflow
    • e8478f9 Merge pull request #109 from kubeshop/Attempt-to-trigger-mkdocs-github-action-by-making-a-change-and-commiting-to-main
    • 15846a3 Merge pull request #110 from kubeshop/Attempt-to-trigger-mkdocs-github-action-by-making-a-change-and-commiting-to-main
    • 5643d0a Merge pull request #111 from kubeshop/create-mkdocs-workflow
    • 2555d14 Merge pull request #112 from kubeshop/Attempt-to-trigger-mkdocs-github-action-by-making-a-change-and-commiting-to-main
    • 1258605 Merge pull request #113 from kubeshop/create-index.md-in-docs
    • 2703adf Merge pull request #114 from kubeshop/Correct-GA-tracking-code
    • 3a9c4b8 Merge pull request #115 from kubeshop/mm/feat/assertionresults
    • 86ab817 Merge pull request #116 from kubeshop/mm/fix/createassertion
    • ef20475 Merge pull request #117 from kubeshop/mm/fix/bindassertiondefinition
    • 467577e Merge pull request #119 from kubeshop/mm/fix/assertionstable
    • 4932a2b Merge pull request #131 from kubeshop/mm/fix/serviceundertesttype
    • 0546f68 Merge pull request #132 from kubeshop/mm/fix/webfolder
    • 68f0b20 Merge pull request #133 from kubeshop/fix-empty-trace
    • aed56f4 Merge pull request #139 from kubeshop/add-docs
    • 8d5a804 Merge pull request #140 from kubeshop/add-docs-uninstall
    • c1e71a4 Merge pull request #141 from kubeshop/more-details
    • 545e006 Merge pull request #142 from kubeshop/reference-results
    • 24dd105 Merge pull request #143 from kubeshop/mm/fix/emptytraceobject
    • 1af11a5 Merge pull request #147 from kubeshop/refactor
    • f676122 Merge pull request #149 from kubeshop/implement-ref
    • d243429 Merge pull request #154 from kubeshop/mm/fix/postmanrequests
    • 7d7f37a Merge pull request #168 from kubeshop/mm/fix/scrollablemodal
    • 070b9aa Merge pull request #169 from kubeshop/auth
    • d59e87e Merge pull request #170 from kubeshop/fix-title
    • c4ca92b Merge pull request #175 from kubeshop/add-generated-code
    • a9f0617 Merge pull request #180 from kubeshop/mm/fix/saveassertionresults
    • d8d1ec5 Merge pull request #186 from kubeshop/Readme-changes-based-on-DevRel-notes
    • 883b98f Merge pull request #190 from kubeshop/auth-methods
    • ad29212 Merge pull request #193 from kubeshop/mm/fix/alteritemselector
    • c9fdfab Merge pull request #196 from kubeshop/Readme-changes-based-on-DevRel-notes
    • 9b34891 Merge pull request #2 from kubeshop/mm/feat/initweb
    • 53510fe Merge pull request #204 from kubeshop/mm/fix/selectortooltip
    • c0aab9c Merge pull request #205 from kubeshop/mm/fix/creatassertionallseclected
    • 9386d80 Merge pull request #206 from kubeshop/chore/matheus/name-api-operations
    • 25f9ca7 Merge pull request #208 from kubeshop/fix/matheus/json-request-body
    • 0a5f63c Merge pull request #210 from kubeshop/Readme-changes-based-on-DevRel-notes
    • 4786510 Merge pull request #211 from kubeshop/Readme-changes-based-on-DevRel-notes
    • 84225c0 Merge pull request #212 from kubeshop/Readme-changes-based-on-DevRel-notes
    • 51fc60f Merge pull request #213 from kubeshop/mm/fix/runtest
    • 7b207c4 Merge pull request #217 from kubeshop/feat/matheus/default-test-header
    • 6ca3123 Merge pull request #224 from kubeshop/fix/matheus/create-span-assertion-id
    • c146619 Merge pull request #227 from kubeshop/povilasv-patch-1
    • cd929cc Merge pull request #231 from kubeshop/fix-routes
    • 77f138a Merge pull request #24 from kubeshop/run
    • 2fa3fef Merge pull request #25 from kubeshop/mm/feat/tracediagram
    • ed801bf Merge pull request #254 from kubeshop/fix/matheus/trace-poller-condition
    • ce97932 Merge pull request #257 from kubeshop/revert-223-218-remove-tracetest-top-span-and-shift-triggering-response-attributes-to-second-span
    • 77ab898 Merge pull request #258 from kubeshop/mm.fix/testdetailstable
    • 2e70a3f Merge pull request #259 from kubeshop/mm/fix/badassertionresults
    • 7005c7f Merge pull request #260 from kubeshop/mm/fix/routingtestresults
    • a6386d8 Merge pull request #261 from kubeshop/mm/fix/tracetab
    • 0242f6d Merge pull request #27 from kubeshop/mm/fix/panesheight
    • 87fc927 Merge pull request #270 from kubeshop/fix/matheus/get-result-trace-from-db
    • 1a21ff2 Merge pull request #28 from kubeshop/executor
    • 5d83545 Merge pull request #285 from kubeshop/mm/fix/loadingstate
    • a6e4e00 Merge pull request #286 from kubeshop/mm/fix/spancolor
    • 7748add Merge pull request #29 from kubeshop/dockerfile
    • 5936d78 Merge pull request #290 from kubeshop/mm/fix/traceprogressbar
    • c0441df Merge pull request #3 from kubeshop/mm/feat/reactrouter
    • 378a919 Merge pull request #307 from kubeshop/Readme-and-doc-changes
    • bbd7b66 Merge pull request #308 from kubeshop/add-workflow
    • 53bf9e0 Merge pull request #310 from kubeshop/fix-negative-time
    • f4f7381 Merge pull request #312 from kubeshop/add-release-pipeline
    • ace7da6 Merge pull request #313 from kubeshop/mm/fix/textpropegateevent
    • cc16676 Merge pull request #314 from kubeshop/mm/fix/cancelrestultdetails
    • 6fd8647 Merge pull request #315 from kubeshop/mm/fix/tracemainscrollbar
    • 5ba06d7 Merge pull request #316 from kubeshop/mm/fix/testscrollbar
    • 9873a07 Merge pull request #32 from kubeshop/mm/feat/diagramshapes
    • 45e73ba Merge pull request #33 from kubeshop/assertion_model
    • 346b914 Merge pull request #35 from kubeshop/fix-up
    • e0490b5 Merge pull request #36 from kubeshop/fix-up
    • e9fc337 Merge pull request #4 from kubeshop/add-request-argument
    • a813de0 Merge pull request #41 from kubeshop/fix-span
    • 2752163 Merge pull request #42 from kubeshop/mm/feat/webappdocker
    • c320778 Merge pull request #43 from kubeshop/fix-camel-case
    • e521a23 Merge pull request #44 from kubeshop/mm/fix/spandatamodel
    • 7102285 Merge pull request #45 from kubeshop/bundle
    • e1e8156 Merge pull request #48 from kubeshop/fix-path-prefix
    • 258f39c Merge pull request #49 from kubeshop/mm/feat/createtestform
    • 89a6a87 Merge pull request #5 from kubeshop/add-ids
    • 37098d3 Merge pull request #50 from kubeshop/mm/feat/testpage
    • b50a1a6 Merge pull request #51 from kubeshop/mm/feat/assertions
    • cfc5ebe Merge pull request #52 from kubeshop/mm/fix/sorttests
    • 41d7b45 Merge pull request #53 from kubeshop/assertions
    • e9e89fc Merge pull request #55 from kubeshop/openapi-spec
    • 48dc8ff Merge pull request #57 from kubeshop/refactor-go-import-path
    • 978cbd1 Merge pull request #58 from kubeshop/config
    • 3dfad2a Merge pull request #59 from kubeshop/mm/feat/createassertion
    • 24a28a5 Merge pull request #6 from kubeshop/add-ids2
    • 66d9e14 Merge pull request #60 from kubeshop/tempo
    • a3a4279 Merge pull request #61 from kubeshop/mm/fix/tracecomponent
    • 59db719 Merge pull request #62 from kubeshop/mm/fix/tspaths
    • 00a4016 Merge pull request #69 from kubeshop/add-debug
    • b36ae69 Merge pull request #7 from kubeshop/attribute
    • 5547b3e Merge pull request #70 from kubeshop/mm/feat/gettrace
    • 27e88e6 Merge pull request #71 from kubeshop/tests_nesting_results
    • 4295dd0 Merge pull request #73 from kubeshop/rename_testid_test_id
    • bdd63da Merge pull request #74 from kubeshop/mm/fix/tabclick
    • b4a046d Merge pull request #75 from kubeshop/openapi-spec-improvements
    • 5cd3602 Merge pull request #76 from kubeshop/mm/feat/assertionresultsdata
    • 088f00f Merge pull request #77 from kubeshop/kens-changes
    • b5d8e43 Merge pull request #78 from kubeshop/Update-readme-and-add-initial-docs
    • 8fafedb Merge pull request #79 from kubeshop/add-generated-openapi
    • 791c42b Merge pull request #8 from kubeshop/pg
    • 45d7de9 Merge pull request #80 from kubeshop/generated-openapistuff
    • b21d1cc Merge pull request #81 from kubeshop/add-generated-openapi
    • 63330b3 Merge pull request #82 from kubeshop/mm/fix/assertionstree
    • 7fbed4c Merge pull request #83 from kubeshop/trace
    • 95e4471 Merge pull request #84 from kubeshop/mm/fix/createassertion
    • 65a86bc Merge pull request #85 from kubeshop/mm/fix/assertionresult-openapi
    • 39ad5e9 Merge pull request #86 from kubeshop/selector-semantic-convention-list
    • 3b2dd08 Merge pull request #87 from kubeshop/rm-trace
    • ebbd176 Merge pull request #88 from kubeshop/http-resp
    • 565ca57 Merge pull request #89 from kubeshop/mm/fix/api
    • 881f1ca Merge pull request #9 from kubeshop/add-jaeger-db
    • 2d915eb Merge pull request #90 from kubeshop/mm/fix/testpage
    • 5740c52 Merge pull request #91 from kubeshop/single-result
    • 48fb49e Merge pull request #92 from kubeshop/refactor-tests2
    • 0317dd6 Merge pull request #93 from kubeshop/mm/fix/assertionapi
    • ef4bb79 Merge pull request #94 from kubeshop/mm/fix/spandatamodel
    • 226a922 Merge pull request #95 from kubeshop/lastresult
    • e6744e1 Merge pull request #96 from kubeshop/fix-start-time
    • f5cf501 Merge pull request #97 from kubeshop/404
    • 4fadd9f Merge pull request #99 from kubeshop/postman-collections
    • 3d991cc Reduced button height
    • cc6f076 Revert "🧽 218 removing the initial trace test node from the diagram (#223)"
    • 3d1b1a1 Set test run to failed if GetTrace fails
    • b9221c7 Sort test results (#281)
    • c9e41b9 Update README.md
    • f5a53a1 Update README.md
    • 6445c80 Update README.md
    • 8a5eab2 Update README.md
    • 0ba1486 Update README.md
    • cfda8ff Update README.md
    • 544c69d Update README.md
    • 270a2c2 Update README.md
    • 11fd5da Update README.md
    • 8e8ccc2 Update README.md
    • c43e7ec Update README.md
    • 4f35f68 Update README.md
    • 6fe806a Update README.md
    • 0b6a1ea Update README.md
    • 4345094 Update README.md
    • 390c019 Update README.md
    • 2cdd59d Update README.md
    • 9d0ca0c Update README.md
    • 0ca7e26 Update README.md
    • 510ec03 Update architecture.md
    • 89af695 Update assertions.png
    • f069e43 Update installing.md
    • 1cc8e89 Update makefile rule to format go src after generating server code
    • 52231e3 Update mkdocs.yml
    • 5897544 Update mkdocs.yml
    • 675258f Update mkdocs.yml
    • 504494d Update openapi.yaml
    • 0769349 Update release.yml
    • 3b4d696 Update release.yml
    • 710cece Update state for failed runs
    • b89aa85 Update state when execution starts
    • 2a7b8d1 Updated to remove image size
    • 0fd48e1 add HTTP Response to Test result & otel stuff
    • 7c1a927 add Kens changes
    • 7ec8e5e add OpenZipkin, Jaeger, OpenTracing implementation
    • a1c859d add ability to run tests
    • 475c6cf add assertionDelete endpoint (#305)
    • 2d9a812 add assertionUpdate endpoint (#297)
    • 013db0f add auth types to HTTPRequest object
    • 3def161 add better HTTP error handling
    • b4dcab1 add build workflow
    • 4b58fae add calculated span duration (#191)
    • 8396b1f add config loader
    • 01cdce1 add docs
    • 7458fda add error detail field
    • a02bba2 add executor
    • 747a0de add generated code
    • 9e2cba7 add generated openapi spec
    • 0c88901 add generated openapi spec
    • 4c916a6 add generated trace open api objects
    • ac12a1f add get test by id endpoint
    • 9bf13d5 add grafana tempo support
    • 707da9e add id to Test object
    • 4f5346a add ids to objects
    • 76fc5c5 add jsonpb trace to regular trace mapping
    • d97d248 add lastresult to test
    • e28caae add more details to install docs
    • 67cf488 add parts of postman request
    • e5dcb4f add path prefix
    • 91ff7cd add pg testdb
    • 51cf9f5 add release pipeline
    • 6d9dc1d add requestBody to createTest request
    • 561e29c add span type attribute (#249)
    • 6650981 add state transition when successfully polled trace (#215)
    • 81b497e add three postman auth methods
    • 0e7bc18 add trace and test results api
    • 27051f6 add trigger response attrs to parent span (#195)
    • 976f1e4 add uninstall docs
    • 6868051 add update test endpoint (#194)
    • 56e63f7 add validation for updateTestResult (#271)
    • b286057 added missing files
    • 8de0620 added png
    • 4b5080c added results under test object
    • d67bc21 bug fix: update execution result
    • 57718db bundle react app and go api
    • 44e6b8c call mapTrace
    • 8fc088b change open api spec
    • 0518efe change test state to finished when receiving an updated result (#252)
    • 100e37b check timeout before marking test as failed
    • 223fb0f chore: Ignore binary files inside server folder
    • bad04f8 chore: add editors folders to gitignore
    • 5437c88 chore: add operationId on all API endpoints
    • ab4ba71 chore: rename service methods
    • eac04a6 chore: update openAPI schema to remove unnecessary fields from request
    • 4df716d convert span duration to milliseconds (#304)
    • c937761 disable discussions
    • ecd458a extended assertion model
    • cafde32 feat: Add endpoint for updating test results
    • e45e384 feat: add assertion tab
    • 6cfe9b4 feat: add docker files
    • d775c8e feat: add eslint prettier react-router
    • ee916f6 feat: add styled-components
    • a1cab6b feat: connect api
    • 766fd37 feat: connect trace
    • 1e08121 feat: create assertion
    • 6098b2a feat: default Content-Type header in test creation modal
    • e0fd544 feat: endpoint for updating test results (#157)
    • e9d4d10 feat: init web app
    • 3d762e0 feat: trace page
    • 8b528e3 fix camel case output
    • ad1dc80 fix empty trace
    • b801b4d fix error handling
    • 2d18e70 fix negative time
    • 3c77ae4 fix release
    • 7607948 fix release
    • 8369bba fix release
    • 7135dc1 fix route handling
    • c0ccec5 fix span type decision (#282)
    • 127e059 fix starttime, endtime bug
    • 8900c51 fix title tag
    • 1f86ac0 fix up docker file
    • d3a0fd3 fix up openapi schema
    • 6299fea fix up openapi spec
    • 2e94592 fix: omit zero time properties
    • 88d333c fix: shortcut comparison names
    • f751b51 fix: web folder description
    • 94cda1f fix: 1st section height
    • cd2e4ef fix: ReflexContainer height
    • 3a5339d fix: ReflexContainer heights
    • 4d00859 fix: adapt panes height
    • e6023ab fix: adapt time scale
    • 831120d fix: add observedValue property
    • 0e57ab7 fix: add action button
    • 2052d64 fix: add assertion tab
    • dfd8119 fix: add description to iems
    • 0f95686 fix: add scrollbar to creat test form
    • e97b95e fix: add skeleton
    • eaf13a9 fix: add spanId
    • 89a4e0e fix: added a trace button
    • 7e088a6 fix: all selected by default
    • d650825 fix: alter tooltip text
    • 81b3fd5 fix: bind assertions results table
    • b135c2a fix: check empty trace object
    • b131bd2 fix: check trace object before run the test
    • 13a62be fix: clean console
    • 49f64f9 fix: compare opertaor
    • dfcb983 fix: condition on when to stop trace pooling
    • faf7fb1 fix: create assertion data
    • 43666f7 fix: create span assert id
    • a06a201 fix: create test invalidate cache
    • 7861b0f fix: create test modal
    • 8f760b4 fix: data model update
    • 71da491 fix: diagram zoom
    • f2a9973 fix: generate assertion results services
    • 3cafba8 fix: get trace from db instead of tracing storage
    • 663e8ca fix: handle dismiss last trace tab
    • 58fbb5d fix: invalid pointer
    • bafb533 fix: item selector dropdown
    • 67ef18c fix: json request body
    • ae3b18c fix: loading state
    • 54445f8 fix: merge main
    • 9dae691 fix: move Trace to components
    • 4ff7367 fix: navigate to test results with url param
    • e696eb2 fix: navigate to test trace after creation
    • 6947678 fix: netlify redirect
    • 24e48e8 fix: openapi-assertionresult
    • 4119ef2 fix: pass clone test to trace
    • 0668f9c fix: path alias
    • 1d3f98d fix: remove deployment and staging columns
    • 426b05d fix: remove main scollbar
    • 093b442 fix: remove trace main scrollbar
    • 2856b2f fix: remove undefined element from spanAssertionList
    • 97ab122 fix: remove unused imports
    • d75f3dd fix: rename page
    • 756c078 fix: resolve comments
    • 177ca6b fix: resort tabs
    • 39481d7 fix: result object
    • 2164854 fix: reverse test list
    • eadd5c2 fix: run new test from failed test result
    • 56d935c fix: selector tooltip
    • 64d6df4 fix: show assertion table when span selected
    • 78f9a99 fix: span color
    • 74d0de8 fix: stop propagate event when hightlight
    • f85088f fix: styling
    • 12cb151 fix: styling trace diagram
    • 88607fd fix: trace loading progress bar
    • e6c1140 fix: update api
    • 92c8a44 fix: update assertion type
    • 45cfea2 fix: update navigation
    • df0d945 fix: update test run result
    • 057af12 fix: update types
    • ec173d1 fix: updating service under test type
    • 428422e fix: wating for trace
    • 0422fcc fix: wip
    • d93cba9 fixing some conflicts
    • aced8a0 generate objects from new openapi
    • 26017af implement /tests api
    • 15985f9 implement assertions
    • 665676e implement reference trace
    • a74342d main branch sync
    • 9571ece make api return a single result
    • 459f214 make api send a span to otel-colelctor
    • 8412c6c make attribute an object
    • 4b76967 make max poll count time based (#248)
    • 97a3aac make max wait time for trace configurable
    • 1741314 make openapi spec camelCase
    • 72f91d0 persist all errors to the related test
    • 2f13e21 refactor import path
    • 7f0ddf5 refactor referenceTestResults
    • 5be0183 refactor tests
    • 65d2acd refactor tests and readme
    • fe38768 regenerate
    • 6137d6e remove /trace endpoint
    • 9a7f4d3 remove debug print
    • 3a1a1b7 remove tracetest span
    • ecf2caf rename projectx
    • 433411a rename run -> res
    • 1b7944e renamed data column testid -> test_id
    • 165f2ff replace spanAssertion validation with default value fix (#306)
    • 56c667b revert: default content-type
    • c26ac35 reverting some changes
    • 7355145 set a default value for max wait time for trace if it cannot be correctly parsed
    • 5278e99 some other fixes
    • 0e22e8c update makefile to allow easy config override
    • 26b0812 update release
    • 50c0e73 update server local config to match docs
    • f22d644 use PUT method instead of PATCH on update endpoint
    • 8405d58 use new generated open api schema
    • d5ea8df ✅ 126 add a state of the current test run to the test result screen next to any test result (#245)
    • d33ee64 ✏️ 299 Adding edit assertion flow (#301)
    • 2cc975c 🆕 238 selectoritems array is not consistent when deleting one and clicking cancel (#275)
    • 137a545 🍣 163 updating the raw data section (#165)
    • 933d3fc 🍣 242 Url when viewing a test should include reference to the Test Run Result id (#246)
    • d872f38 🏷 150 Implement the assertion results for a span (#155)
    • 7a70e97 🏷 Moving the selected badge to the beginning (#303)
    • 0511935 🐛 166 fixing multiple small issues with the e2e flow (#173)
    • 5fb2371 🐛 256 fixing text for passed checks (#279)
    • 89eaa6a 🐛 263 Fix undefined attributes on spans (#276)
    • 0510a4a 👁 234 adding default props for the custom table to have fixed layout (#237)
    • b07314b 💥 277 239 251 Add signature selectorItems to each block in the DAG (#291)
    • 4d4c467 💾 222 test result save (#244)
    • 070f7ff 🔗 137 Adding links to the navigation header (#138)
    • 4c66358 🔥 280 253 293 293 fixing create assertion form bugs (#294)
    • a061747 🖌 UI MVP changes (#130)
    • 302fa56 🗑 295 296 adding deletion input for assertion checks (#300)
    • 06e087a 🥷🏽 243 escaping selector strings (#247)
    • 769bd6b 🧪 129 Adding test results tab (#156)
    • 187b242 🧽 218 removing the initial trace test node from the diagram (#223)
    Source code(tar.gz)
    Source code(zip)
  • v0.0.1-4(Apr 22, 2022)

Owner
kubeshop
open-source accelerator-incubator focused on k8s
kubeshop
The open and composable observability and data visualization platform. Visualize metrics, logs, and traces from multiple sources like Prometheus, Loki, Elasticsearch, InfluxDB, Postgres and many more.

The open-source platform for monitoring and observability. Grafana allows you to query, visualize, alert on and understand your metrics no matter wher

Grafana Labs 49.7k Jun 27, 2022
Pixie gives you instant visibility by giving access to metrics, events, traces and logs without changing code.

Pixie gives you instant visibility by giving access to metrics, events, traces and logs without changing code.

Pixie Labs 3.5k Jun 29, 2022
Write log entries, get X-Ray traces.

logtoxray Write to logs, get X-Ray traces. No distributed tracing instrumenation library required. ?? ?? ?? THIS PROJECT IS A WORK-IN-PROGRESS PROTOTY

JBD 27 Apr 24, 2022
Pragmatic and minimalistic module for collecting and sending traces from Go code 💪🏽

tracing-go Pragmatic and minimalistic module for collecting and exporting trace data from the Go code. prometheus/client_golang but for Traces NOTE: T

Bartlomiej Plotka 9 May 20, 2022
OpenTelemetry log collection library

opentelemetry-log-collection Status This project was originally developed by observIQ under the name Stanza. It has been contributed to the OpenTeleme

OpenTelemetry - CNCF 86 Jun 7, 2022
Example instrumentation of Golang Application with OpenTelemetry with supported configurations to export to Sentry.

Sentry + Opentelemetry Go Example Requirements To run this example, you will need a kubernetes cluster. This example has been tried and tested on Mini

Uddeshya Singh 10 Apr 9, 2022
Tool for generating OpenTelemetry tracing decorators.

tracegen Tool for generating OpenTelemetry tracing decorators. Installation go get -u github.com/KazanExpress/tracegen/cmd/... Usage tracegen generate

Marketplace Technologies 5 Apr 7, 2022
Shikhandi: a tiny load generator for opentelemetry and heavily

shikhandi is a tiny load generator for opentelemetry and heavily inspired by thi

Srikanth Chekuri 5 May 30, 2022
Visualise Go program GC trace data in real time

This project is no longer maintained I'm sorry but I do not have the bandwidth to maintain this tool. Please do not send issues or PRs. Thank you. gcv

Dave Cheney 1.1k Jun 28, 2022
Example of trace instrumentation in Golang applications :bar_chart:

go-opentelemetry-example Example of trace instrumentation in Golang applications using the opentelemetry. Requirements/dependencies Docker Docker-comp

Gabriel S. Facina 4 Jun 4, 2022
Some tests and examples with goroutines and channels

goroutine-playground Some tests and examples with goroutines and channels simpleAsyncCalls Runs functions in background and doesn't wait for results a

Filipe Alves 1 Feb 9, 2022
Tiny structured logging abstraction or facade for various logging libraries, allowing the end user to plug in the desired logging library in main.go

Tiny structured logging abstraction or facade for various logging libraries, allowing the end user to plug in the desired logging library in main.go.

Jacek Olszak 14 May 23, 2022
Litter is a pretty printer library for Go data structures to aid in debugging and testing.

Litter Litter is a pretty printer library for Go data structures to aid in debugging and testing. Litter is provided by Sanity: The Headless CMS Const

Sanity 1.3k Jun 15, 2022
Log-generator - A simple CLI tool that generates near real logs for testing

Log-generator - A simple CLI tool that generates near real logs for testing

RexWu 2 Jan 22, 2022
With this package you can create your own syslog server with your own handlers for different kind of syslog messages

Using this library you can easy implement your own syslog server that: Can listen on multiple UDP ports and unix domain sockets. Can pass parsed syslo

Michał Derkacz 68 Dec 15, 2021
BRUS - Parses your web server (e.g. nginx) log files and checks with GreyNoise how much noise your website is exposed to.

BRUS bbbbbb rrrrrr u u sssss b b r r u u s bbbbbb rrrrrr u u sssss b b r r u u s bbbbbb r r

dubs3c 1 May 29, 2022
Time based rotating file writer

cronowriter This is a simple file writer that it writes message to the specified format path. The file path is constructed based on current date and t

Yuta UEKUSA 47 Feb 8, 2022
CoLog is a prefix-based leveled execution log for Go

What's CoLog? CoLog is a prefix-based leveled execution log for Go. It's heavily inspired by Logrus and aims to offer similar features by parsing the

null 157 Jun 7, 2022
rtop is an interactive, remote system monitoring tool based on SSH

rtop rtop is a remote system monitor. It connects over SSH to a remote system and displays vital system metrics (CPU, disk, memory, network). No speci

RapidLoop 2k Jun 21, 2022