Giter VIP home page Giter VIP logo

Comments (5)

mcaramello avatar mcaramello commented on August 16, 2024

👍

from digdag.

frsyuki avatar frsyuki commented on August 16, 2024

it sounds good idea to use a structured log format. what we need to take care is:

  • BufferedRemoteTaskLogger needs to use a regular ReentrantLock or synchronized-block instead of ReentrantReadWriteLock.
  • timestamp should include at least milliseconds. Preferably, microseconds. I think it's ok to use this proposal: msgpack/msgpack#209
  • MessagePack weakly distinguishes strings from binary. I think "message" field should use string if stream is LOG, and binary if stream is OUT or ERR.

from digdag.

frsyuki avatar frsyuki commented on August 16, 2024

About REST API, from past experiences, users (and Hadoop!) occasionally produce large amount of logs (GBs of logs) intentionally or accidentally. Current implementation lets agents upload files directly to S3, and lets clients download directly from S3. That's because I don't want to fill all of server threads for log processing and make them unavailable for the other requests.
So, server-side filtering is ok for browsers/GUI if they use appropriate pagination. But not good especially for CLI when they download the entire logs.

from digdag.

frsyuki avatar frsyuki commented on August 16, 2024

Another note:
In digdag's design, agents may be hosted on an user's servers (although we distribute the code). REST API for agents to upload logs are receiving log files. In this case, contents of those files are user-data are not 100% trusted. If we have REST API on server that processes those data on server, we should make sure that unzip of gzip or unpack of msgpack might cause errors because of broken user-data.

from digdag.

yoyama avatar yoyama commented on August 16, 2024

Close the old issue. Please reopen or file new one if you need.

from digdag.

Related Issues (20)

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.