Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: add adhoc debug logger package #1669

Open
wants to merge 20 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 10 commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
6cbac49
feat: initial creation of cloud-common and the adhoc debug logger
feywind Aug 12, 2024
83e5400
feat: rename package, update with recent spec changes and tests
feywind Oct 2, 2024
3a2d0c7
feat: allow for the backend to be swapped out, and other code tightening
feywind Oct 7, 2024
14cfdd0
samples: add in beginnings of samples
feywind Oct 7, 2024
4ef3402
feat: replace Node backend, several bug fixes
feywind Oct 16, 2024
ae3c8f6
docs: add disclaimer about internal usage
feywind Oct 16, 2024
c76d4ef
tests: add a test for log event taps
feywind Oct 16, 2024
3127adf
chore: merge remote-tracking branch 'remotes/origin/main' into debuglog
feywind Oct 16, 2024
801bef0
chore: rename logging package
feywind Nov 19, 2024
dc44d07
chore: rename again, because incorrect name
feywind Nov 19, 2024
2058ffe
feat: add sub-log creation support
feywind Nov 20, 2024
4dcce17
build: update versions to push to npm again
feywind Nov 20, 2024
3ce4d8b
build: utils, not adhoc tools
feywind Nov 20, 2024
c1f4e41
fix: drop to a single envvar and allow 'all'
feywind Nov 21, 2024
23c86a8
fix: finish removing debug package dependency
feywind Nov 22, 2024
511df04
build: bump package version for 'next'
feywind Nov 22, 2024
3a0bd19
chore: merge remote-tracking branch 'remotes/origin/main' into debuglog
feywind Nov 26, 2024
47072b6
chore: update copyright in header
feywind Nov 26, 2024
fd1f6b0
chore: merge remote-tracking branch 'remotes/origin/main' into debuglog
feywind Dec 10, 2024
664915e
build: remove node module prefixes for now
feywind Dec 11, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
node_modules
build
protos
3 changes: 2 additions & 1 deletion .release-please-manifest.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
{
"gax": "4.4.1",
"tools": "0.4.6"
"tools": "0.4.6",
"logging-utils": "0.0.0"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

name and version disagree with what's in package.json (google-logging-utils and 0.0.2) - should these match?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hopefully the 0.0.2 is published experimentally! Also - is this name already taken? https://www.npmjs.com/package/logging-utils

}
7 changes: 7 additions & 0 deletions logging-utils/.eslintignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
**/node_modules
**/coverage
test/fixtures
build/
docs/
protos/
samples/generated/
4 changes: 4 additions & 0 deletions logging-utils/.eslintrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"extends": "./node_modules/gts",
"root": true
}
24 changes: 24 additions & 0 deletions logging-utils/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
coverage
npm-debug.log
**/*.log
**/node_modules
.coverage
.nyc_output
docs/
protos/google/
out/
system-test/secrets.js
system-test/*key.json
build
.vscode
package-lock.json
.system-test-run/
.kitchen-sink/
.showcase-server-dir/
.compileProtos-test/
.minify-test/
__pycache__
doc/
dist/
*.tgz
**/*.tgz
6 changes: 6 additions & 0 deletions logging-utils/.prettierignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
**/node_modules
**/coverage
test/fixtures
build/
docs/
protos/
17 changes: 17 additions & 0 deletions logging-utils/.prettierrc.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
// Copyright 2023 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

module.exports = {
...require('gts/.prettierrc.json')
}
Empty file added logging-utils/CHANGELOG.md
Empty file.
94 changes: 94 additions & 0 deletions logging-utils/CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
<!-- # Generated by synthtool. DO NOT EDIT! !-->
# Code of Conduct

## Our Pledge

In the interest of fostering an open and welcoming environment, we as
contributors and maintainers pledge to making participation in our project and
our community a harassment-free experience for everyone, regardless of age, body
size, disability, ethnicity, gender identity and expression, level of
experience, education, socio-economic status, nationality, personal appearance,
race, religion, or sexual identity and orientation.

## Our Standards

Examples of behavior that contributes to creating a positive environment
include:

* Using welcoming and inclusive language
* Being respectful of differing viewpoints and experiences
* Gracefully accepting constructive criticism
* Focusing on what is best for the community
* Showing empathy towards other community members

Examples of unacceptable behavior by participants include:

* The use of sexualized language or imagery and unwelcome sexual attention or
advances
* Trolling, insulting/derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or electronic
address, without explicit permission
* Other conduct which could reasonably be considered inappropriate in a
professional setting

## Our Responsibilities

Project maintainers are responsible for clarifying the standards of acceptable
behavior and are expected to take appropriate and fair corrective action in
response to any instances of unacceptable behavior.

Project maintainers have the right and responsibility to remove, edit, or reject
comments, commits, code, wiki edits, issues, and other contributions that are
not aligned to this Code of Conduct, or to ban temporarily or permanently any
contributor for other behaviors that they deem inappropriate, threatening,
offensive, or harmful.

## Scope

This Code of Conduct applies both within project spaces and in public spaces
when an individual is representing the project or its community. Examples of
representing a project or community include using an official project e-mail
address, posting via an official social media account, or acting as an appointed
representative at an online or offline event. Representation of a project may be
further defined and clarified by project maintainers.

This Code of Conduct also applies outside the project spaces when the Project
Steward has a reasonable belief that an individual's behavior may have a
negative impact on the project or its community.

## Conflict Resolution

We do not believe that all conflict is bad; healthy debate and disagreement
often yield positive results. However, it is never okay to be disrespectful or
to engage in behavior that violates the project’s code of conduct.

If you see someone violating the code of conduct, you are encouraged to address
the behavior directly with those involved. Many issues can be resolved quickly
and easily, and this gives people more control over the outcome of their
dispute. If you are unable to resolve the matter for any reason, or if the
behavior is threatening or harassing, report it. We are dedicated to providing
an environment where participants feel welcome and safe.

Reports should be directed to *[email protected]*, the
Project Steward(s) for *Google Cloud Client Libraries*. It is the Project Steward’s duty to
receive and address reported violations of the code of conduct. They will then
work with a committee consisting of representatives from the Open Source
Programs Office and the Google Open Source Strategy team. If for any reason you
are uncomfortable reaching out to the Project Steward, please email
[email protected].

We will investigate every complaint, but you may not receive a direct response.
We will use our discretion in determining when and how to follow up on reported
incidents, which may range from not taking action to permanent expulsion from
the project and project-sponsored spaces. We will notify the accused of the
report and provide them an opportunity to discuss it before any action is taken.
The identity of the reporter will be omitted from the details of the report
supplied to the accused. In potentially harmful situations, such as ongoing
harassment or threats to anyone's safety, we may take action without notice.

## Attribution

This Code of Conduct is adapted from the Contributor Covenant, version 1.4,
available at
https://www.contributor-covenant.org/version/1/4/code-of-conduct.html
74 changes: 74 additions & 0 deletions logging-utils/CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
# How to become a contributor and submit your own code

**Table of contents**

* [Contributor License Agreements](#contributor-license-agreements)
* [Contributing a patch](#contributing-a-patch)
* [Running the tests](#running-the-tests)
* [Releasing the library](#releasing-the-library)

## Contributor License Agreements

We'd love to accept your sample apps and patches! Before we can take them, we
have to jump a couple of legal hurdles.

Please fill out either the individual or corporate Contributor License Agreement
(CLA).

* If you are an individual writing original source code and you're sure you
own the intellectual property, then you'll need to sign an [individual CLA](https://developers.google.com/open-source/cla/individual).
* If you work for a company that wants to allow you to contribute your work,
then you'll need to sign a [corporate CLA](https://developers.google.com/open-source/cla/corporate).

Follow either of the two links above to access the appropriate CLA and
instructions for how to sign and return it. Once we receive it, we'll be able to
accept your pull requests.

## Contributing A Patch

1. Submit an issue describing your proposed change to the repo in question.
1. The repo owner will respond to your issue promptly.
1. If your proposed change is accepted, and you haven't already done so, sign a
Contributor License Agreement (see details above).
1. Fork the desired repo, develop and test your code changes.
1. Ensure that your code adheres to the existing style in the code to which
you are contributing.
1. Ensure that your code has an appropriate set of tests which all pass.
1. Title your pull request following [Conventional Commits](https://www.conventionalcommits.org/) styling.
1. Submit a pull request.

### Before you begin

1. [Select or create a Cloud Platform project][projects].
1. [Set up authentication with a service account][auth] so you can access the
API from your local workstation.


## Running the tests

1. [Prepare your environment for Node.js setup][setup].

1. Install dependencies:

npm install

1. Run the tests:

# Run unit tests.
npm test

# Run sample integration tests.
npm run samples-test

# Run all system tests.
npm run system-test

1. Lint (and maybe fix) any changes:

npm run fix

[setup]: https://cloud.google.com/nodejs/docs/setup
[projects]: https://console.cloud.google.com/project
[billing]: https://support.google.com/cloud/answer/6293499#enable-billing

[auth]: https://cloud.google.com/docs/authentication/getting-started
Loading