awesome binary conflict

The awesome binary conflicts with the Awesome Window Manager if someone is using linux and has AwesomeWM installed.
What is the workaround or fix for this?

I didn't know the another awesome tool.
Hmm.. I'm thinking how fix those problems.
Any ideas?

I'm not sure. This is what and where the awesome binary is on archlinux.
$ awesome --version
awesome v4.2 (Human after all)
• Compiled against Lua 5.3.4 (running with Lua 5.3)
• D-Bus support: ✔
• execinfo support: ✔
• xcb-randr version: 1.5
• LGI version: 0.9.1
$ which awesome
/bin/awesome
What location does pip install the awesome-finder awesome binary in? If I know the path, and it does not conflict with awesome (window manager), I can just make an alias to the direct path and run it from there.

@agsdot It depends on your python path. Could you show your python path by running which python3?

$ which python
/bin/python
$ python --version
Python 3.6.2
I'm running archlinux with awesome window manager.
In archlinux,
python3 is
/bin/python
python2 is
/bin/python2

Could you also show the sys paths? This command shows your python paths and package paths
python3 -c 'import sys; print(sys.path)'

$ python3 -c 'import sys; print(sys.path)'
['', '/usr/lib/python36.zip', '/usr/lib/python3.6', '/usr/lib/python3.6/lib-dynload', '/usr/lib/python3.6/site-packages', '/usr/lib/python3.6/site-packages/gtk-2.0']

So, It might be installed to “/usr/bin”

I'm not convinced....
$ /bin/awesome --version
awesome v4.2 (Human after all)
• Compiled against Lua 5.3.4 (running with Lua 5.3)
• D-Bus support: ✔
• execinfo support: ✔
• xcb-randr version: 1.5
• LGI version: 0.9.1
$ /usr/bin/awesome --version
awesome v4.2 (Human after all)
• Compiled against Lua 5.3.4 (running with Lua 5.3)
• D-Bus support: ✔
• execinfo support: ✔
• xcb-randr version: 1.5
• LGI version: 0.9.1

Then, It will be overwritten by awesome finder. But, why do you have same binary in two different paths?

Not sure about why there is the same binary in two paths. Maybe a sudo pacman -Syu / pacaur -Syu systemwide package update/upgrade.
Anyhow, I tried the following. I did a pip (re)install but awesome-finder files are already present. My python-fu could use improvement. How would I run awesome-finder manually given the following:
pip install awesome-finder
Requirement already satisfied: awesome-finder in /usr/lib/python3.6/site-packages
Requirement already satisfied: requests in /usr/lib/python3.6/site-packages (from awesome-finder)
Requirement already satisfied: chardet<3.1.0,>=3.0.2 in /usr/lib/python3.6/site-packages (from requests->awesome-finder)
Requirement already satisfied: idna<2.7,>=2.5 in /usr/lib/python3.6/site-packages (from requests->awesome-finder)
Requirement already satisfied: urllib3<1.23,>=1.21.1 in /usr/lib/python3.6/site-packages (from requests->awesome-finder)
$ ls /usr/lib/python3.6/site-packages/awesome
total 48
drwxr-xr-x   4 root root  4096 Sep 27 22:33 .
drwxr-xr-x 157 root root 12288 Oct  3 23:28 ..
-rw-r--r--   1 root root  1856 Sep 27 22:33 cache.py
-rw-r--r--   1 root root   118 Sep 27 22:33 init.py
-rw-r--r--   1 root root  1454 Sep 27 22:33 main.py
-rw-r--r--   1 root root  1110 Sep 27 22:33 parser_loader.py
drwxr-xr-x   3 root root  4096 Sep 27 22:33 parsers
drwxr-xr-x   2 root root  4096 Sep 27 22:33 pycache
-rw-r--r--   1 root root  7824 Sep 27 22:33 tui.py

$ ls /usr/lib/python3.6/site-packages/awesome total 48 drwxr-xr-x   4 root root  4096 Sep 27 22:33 . drwxr-xr-x 157 root root 12288 Oct  3 23:28 .. -rw-r--r--   1 root root  1856 Sep 27 22:33 cache.py -rw-r--r--   1 root root   118 Sep 27 22:33 __init__.py -rw-r--r--   1 root root  1454 Sep 27 22:33 __main__.py -rw-r--r--   1 root root  1110 Sep 27 22:33 parser_loader.py drwxr-xr-x   3 root root  4096 Sep 27 22:33 parsers drwxr-xr-x   2 root root  4096 Sep 27 22:33 __pycache__ -rw-r--r--   1 root root  7824 Sep 27 22:33 tui.py

$ ls /usr/lib/python3.6/site-packages/awesome total 48 drwxr-xr-x   4 root root  4096 Sep 27 22:33 . drwxr-xr-x 157 root root 12288 Oct  3 23:28 .. -rw-r--r--   1 root root  1856 Sep 27 22:33 cache.py -rw-r--r--   1 root root   118 Sep 27 22:33 __init__.py -rw-r--r--   1 root root  1454 Sep 27 22:33 __main__.py -rw-r--r--   1 root root  1110 Sep 27 22:33 parser_loader.py drwxr-xr-x   3 root root  4096 Sep 27 22:33 parsers drwxr-xr-x   2 root root  4096 Sep 27 22:33 __pycache__ -rw-r--r--   1 root root  7824 Sep 27 22:33 tui.py

`
$ ls /usr/lib/python3.6/site-packages/awesome
total 48
drwxr-xr-x   4 root root  4096 Sep 27 22:33 .
drwxr-xr-x 157 root root 12288 Oct  3 23:28 ..
-rw-r--r--   1 root root  1856 Sep 27 22:33 cache.py
-rw-r--r--   1 root root   118 Sep 27 22:33 init.py
-rw-r--r--   1 root root  1454 Sep 27 22:33 main.py
-rw-r--r--   1 root root  1110 Sep 27 22:33 parser_loader.py
drwxr-xr-x   3 root root  4096 Sep 27 22:33 parsers
drwxr-xr-x   2 root root  4096 Sep 27 22:33 pycache
-rw-r--r--   1 root root  7824 Sep 27 22:33 tui.py
`

$ ls /usr/lib/python3.6/site-packages/awesome total 48 drwxr-xr-x   4 root root  4096 Sep 27 22:33 . drwxr-xr-x 157 root root 12288 Oct  3 23:28 .. -rw-r--r--   1 root root  1856 Sep 27 22:33 cache.py -rw-r--r--   1 root root   118 Sep 27 22:33 __init__.py -rw-r--r--   1 root root  1454 Sep 27 22:33 __main__.py -rw-r--r--   1 root root  1110 Sep 27 22:33 parser_loader.py drwxr-xr-x   3 root root  4096 Sep 27 22:33 parsers drwxr-xr-x   2 root root  4096 Sep 27 22:33 __pycache__ -rw-r--r--   1 root root  7824 Sep 27 22:33 tui.py

Try to run the “/usr/bin/awesome”. It still points to existing awesome tool?

$ /usr/bin/awesome
2017-10-06 20:00:14 E: awesome: acquire_WM_Sn:265: another window manager is already running (selection owned; use --replace)
$ /usr/bin/awesome --version
awesome v4.2 (Human after all)
• Compiled against Lua 5.3.4 (running with Lua 5.3)
• D-Bus support: ✔
• execinfo support: ✔
• xcb-randr version: 1.5
• LGI version: 0.9.1

Hmm .. Could you find all awesome binary using “find” command? And please show your PATH variables.

/home/agsdot/.asdf/bin:/home/agsdot/.asdf/shims:/bin:/usr/bin:/usr/local/bin:/usr/local/sbin:/usr/lib/jvm/default/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:/home/agsdot/.userScripts:/home/agsdot/.cargo/bin:/home/agsdot/.gem/ruby/2.4.0/bin:/home/agsdot/.evm/bin
What bash command should I use with find and in what directory should I run it.
And should I narrow down the find command results with grep or ag / pt / ack, etc

Running:
https://unix.stackexchange.com/questions/120786/list-all-binaries-from-path
$ python2 -c 'import os;import sys;output = lambda(x) : sys.stdout.write(x + "\n"); paths = os.environ["PATH"].split(":") ; listdir = lambda(p) : os.listdir(p) if os.path.isdir(p) else [ ] ; isfile = lambda(x) : True if os.path.isfile(os.path.join(x[0],x[1])) else False ; isexe = lambda(x) : True if os.access(os.path.join(x[0],x[1]), os.X_OK) else False ; map(output,[ os.path.join(p,f) for p in paths for f in listdir(p) if isfile((p,f)) and isexe((p,f)) ])' | grep awesome
/bin/awesome-client
/bin/awesome
/usr/bin/awesome-client
/usr/bin/awesome

What is the awesome-client?

$man awesome-client
  1 AWESOME-CLIENT(1)                                                                                AWESOME-CLIEN
  2
  3 NAME
  4        awesome-client - awesome window manager remote execution
  5
  6 SYNOPSIS
  7        awesome-client
  8
  9 DESCRIPTION
 10        awesome-client is a remote command line interface to awesome. It communicates with awesome via D-Bus, allowing
 11        remote execution of Lua code.
 12
 13 USAGE
 14        awesome-client reads commands from standard input and sends them via D-Bus to awesome. If rlwrap is installed, i
 15        will be used to provide a readline command line interface.
 16
 17        The awful.remote module has to be loaded if you want this command to work.
 18
 19 SEE ALSO
 20        awesome(1) awesomerc(5)
 21
 22 AUTHORS
 23        Julien Danjou<EMAIL_ADDRESS> 24
 25 WWW
 26        https://awesomewm.org

..
long story short, part of Awesome Window Manager

Um.. It seems that awesome finder binary did not installed correctly. I dont understand why the pip can not install (or overwrite the existing one) the awesome finder cli.
I have a suggestion as following

Remove the existing awesome cli in /usr/bin (It is safe because of it already exists in /bin)
Uninstall the awesome finder with pip
Reinstall the awesome finder with pip
Try to run the /usr/bin/awesome

Hum...it got awesome(finder) working, but awesome window manager as a binary is no longer present.
python2 -c 'import os;import sys;output = lambda(x) : sys.stdout.write(x + "\n"); paths = os.environ["PATH"].split(":") ; listdir = lambda(p) : os.listdir(p) if os.path.isdir(p) else [ ] ; isfile = lambda(x) : True if os.path.isfile(os.path.join(x[0],x[1])) else False ; isexe = lambda(x) : True if os.access(os.path.join(x[0],x[1]), os.X_OK) else False ; map(output,[ os.path.join(p,f) for p in paths for f in listdir(p) if isfile((p,f)) and isexe((p,f)) ])' | grep awesome
/bin/awesome-client
/bin/awesome
/usr/bin/awesome-client
/usr/bin/awesome
$ /bin/awesome --version
usage: awesome [-h]
{android,awesome,elixir,go,ios,java,javascript,php,python,ruby,rust,scala,swift}
...
awesome: error: the following arguments are required: title
$ /usr/bin/awesome --version
usage: awesome [-h]
{android,awesome,elixir,go,ios,java,javascript,php,python,ruby,rust,scala,swift}
...
awesome: error: the following arguments are required: title

What are the workarounds to running awesome-finder?
Can I just git clone https://github.com/mingrammer/awesome-finder/
cd awesome-finder
run some pip or python command to get the TUI working?

Try to run with “./main.py” in “awesome” directory

Um...what do I run first?
$ pwd
/home/agsdot/Downloads/awesome-finder-master/awesome
agsdot in ~/Downloads/awesome-finder-master/awesome on master▲
$ ls
total 36
drwxrwxr-x 3 agsdot agsdot 4096 Oct  6 20:46 .
drwxrwxr-x 4 agsdot agsdot 4096 Oct  6 20:43 ..
-rw-rw-r-- 1 agsdot agsdot 1856 Sep 28 05:26 cache.py
-rw-rw-r-- 1 agsdot agsdot  118 Sep 28 05:26 init.py
-rwxr-xr-x 1 agsdot agsdot 1452 Oct  6 20:46 main.py
-rw-rw-r-- 1 agsdot agsdot 1110 Sep 28 05:26 parser_loader.py
drwxr-xr-x 2 agsdot agsdot 4096 Oct  6 20:44 parsers
-rw-rw-r-- 1 agsdot agsdot 7824 Sep 28 05:26 tui.py
./main.py as a file is not present in that directory.
Is there something I need to run against the setup.py file in the root directory?

It was my mistake. Not main.py, but __main__.py. And you need to install dependencies which are on setup.py (there is no requirements.txt, sorry about it) then run that main script

What would the requirements.txt file look like in the root directory?
And would I run it with a pip install -r requirements.txt? Sorry, don't know the python ecosystem well enough to know the pip/python commands

I will the requirements.txt on root directory. But at now, I’m so busy, we should discuss about it a few hours later.

@agsdot I've created requirements.txt on root. So, you can run the awesome finder manually with python3 -m awesome.__main__ <topic> after pip install -r requirements.txt
p.s. If you already have a requests library on system, I recommend the using the virtualenv to separate the dependencies of this project from your local system.

This works. Running the python script manually.
Still wish there was a way to work around this to run awesome from the command line while a preexisting awesome binary (awesome window manager) exists.

I have no awesome idea for now. I think it is an another solution that make an alias for above manual command as like awesomef or something.

Why not renaming the awesome-finder binary to gh-awesome for example (or aweswome-hub or whatever, basically anything else than awesome) to prevent conflicts with existing system packages? awesome-wm is a quite popular window manager, and I don't think overwriting system binaries is a good idea (file is installed by awesome-finder, but for the system it belongs to a system package, so once you'll remove the system package, the awesome-finder binary will get removed mistakenly).

@mattoufoutu Hum .. that might be a better idea. Of course, I've already thought how about renaming the awesome-finder binary as an other, but I thought It could make a problem to existing users.
But, if the awesome-wm may has quite more users than me, renaming could be a clean solution.
Here are some candidates for this. Which is the best you think?

awesome-fd
awesomefd
awesome-fin
awesome-gh
awesomegh
awesome-hub
others

@mingrammer I like awesome-finder / awesomefinder and awesome-hub / awesomehub.
fd I don't immediately associate with finder.

Same for me regarding fd.
If I had to chose only one, I think I'd go with awesome-hub.

Thanks for replying. The “awesome-hub” won. So I’ll rename the awesome to awesome-hub today.

:+1:

@mattoufoutu @agsdot
I've released v1.1.1 version with awesome-hub binary. Try pip3 install -U awesome-finder :)

This works great.
@mingrammer thanks for renaming the binary. And also putting in the requirements.txt with instructions on how to run it manually.
I'd say this issue can be closed now!


Remove genesis code check

Remove genesis code check
Requirements
Temporarily remove the genesis code check.
#293

Add the info of applicable Issues.

A option is better.

Provide an input parameter to control this feature is better.

Input parameters like cita version or what? Could you please make it more detailed?

like skip audit ?

For example:

python check_genesis.py --check-code=false

python check_genesis.py --check=storage,code

I see.

I design it again.

I think there no need to check genesis code in this test. we have checked the storage in contract.

Why?

I'll do it.

I do not care about whether it is required or not.
I just do not like commented code in a version control system.

If this piece of code is redundant, we delete them.
If we just have to remove it temporarily, we offer an option to control it.

Anyway, you both could keep going.


⚠ Secret Website 3 has degraded performance

In f6ff49a, Secret Website 3 ($SECRET_WEBSITE_3) experienced degraded performance:

HTTP code: 200
Response time: 3011 ms

Resolved: Secret Website 3 performance has improved in 504b182.


Add new TYPO3 CMS security advisories

https://typo3.org/teams/security/security-bulletins/typo3-core/typo3-core-sa-2015-008/
https://typo3.org/teams/security/security-bulletins/typo3-core/typo3-core-sa-2015-009/

@stof Should be fixed now


TPU throughput suddenly decrease after 35~40 iterations

Hi,
I tried to experiment replicating your pretraining of a 7B LLaMA process on a tpu-v4 VM with EasyLM, but I find out the throughput of the model training suddenly decrease to only 15% of original thoughput after 35~40 iterations until it waits a few seconds to log the metrics and then the thoughput temporarily increase to normal again before falling to low throughput again after 35~40 iterations. Then the whole process repeats the problem for every log_freq
I used the following script for pretraining:
python3 -m EasyLM.models.llama.llama_train \
    --total_steps=100000 \
    --mesh_dim='1,1,-1' \
    --load_llama_config='=7b' \
    --tokenizer.vocab_file='./tokenizer.model' \
    --train_dataset.text_processor.fields=text \
    --train_dataset.type=huggingface \
    --train_dataset.huggingface_dataset.path=openwebtext \
    --train_dataset.huggingface_dataset.name=plain_text \
    --train_dataset.huggingface_dataset.batch_size=16 \
    --dtype=bf16

The experiment was done using a single TPU V4-8. Multiple combination of mesh_dim were tuned but all have same issues.
I also attached a SSD disk to the TPU v4 VM to ensure it's not the disk throughput problem.
May I know what is your setting for pretraining of the LLaMA 7B model or have you observed similar issues when using TPU-v4, and how do you address the issue if you had the issue?
Thanks!

What you are observing is a result of the async dispatch of JAX. When you have a training loop, JAX will return the control back to Python even if the training step has not finish running on TPU. However, since we log every 50 iterations, logging the results will force all the async dispatches to complete in order to obtain the training metrics with jax.device_get, which means you will see a much longer time for that iteration.

What you are observing is a result of the async dispatch of JAX. When you have a training loop, JAX will return the control back to Python even if the training step has not finish running on TPU. However, since we log every 50 iterations, logging the results will force all the async dispatches to complete in order to obtain the training metrics with jax.device_get, which means you will see a much longer time for that iteration.
I should also note that async dispatch is a great feature of JAX, since it enables us to overlap data loading and training for free without the need of explicit implementations like FFCV.

Many thanks for your detailed explaination, understand now :)


Random Connection refused issue

Version: redis_version:4.0.9,  redis-py version = '3.5.3'
Platform: What platform / version? (python 3.6.6, Ubuntu 18.04.3 LTS, Amazon EC2)
Description: I am using redis-py to connect to a local redis. There are many different threads and independent process that connects to redis (the number of clients should still be small < 10). At random points, I keep getting connection refused error.
"Error 111 connecting to <IP_ADDRESS>:6379. Connection refused."
This is not reproducible consistently. Can you please offer any pointers on how to rootcause this ? I've tried many things (including locking before get/put) - but this random error pops up during put and goes away.  I use a singleton connection pool and have enough headroom for CPU/memory etc. Some of the connection stats look like below and nothing stands out from what I could see.
Stats
total_connections_received:6
total_commands_processed:5380
instantaneous_ops_per_sec:59
total_net_input_bytes:374586707
total_net_output_bytes:139631996
instantaneous_input_kbps:5111.95
instantaneous_output_kbps:6.49
rejected_connections:0
sync_full:0
sync_partial_ok:0
sync_partial_err:0
expired_keys:0
expired_stale_perc:0.00
expired_time_cap_reached_count:0
evicted_keys:0
keyspace_hits:90
keyspace_misses:39
pubsub_channels:0
pubsub_patterns:0
latest_fork_usec:0
migrate_cached_sockets:0
slave_expires_tracked_keys:0
active_defrag_hits:0
active_defrag_misses:0
active_defrag_key_hits:0
active_defrag_key_misses:0

Do you happen to have a maxclients limit set on the server? Not sure why else you’d be getting a ConnectionRefused to localhost. ConnectionRefused comes from the system’s TCP stack when the network or destination server actively refused to allow a connection to be established.
A traceback might be helpful.

I hadn't set any limit and default value would've been assumed (10000 as I see now). In any case, I purged and reinstalled redis and it seems to be fine so far (last 15 minutes). Will close this for now since it is not reproducible.


mne.gui.locate_ieeg is great! (but I had a few issues)

Sorry, the title of the issue is not very descriptive, but I tried the GUI lately to locate inracranial electrodes, and had some comments. But first of all I have to say it works great! Thanks @alexrockhill for this awesome contribution!
I had just a few minor issues that I wanted to raise:

in my case, for some reason, freesurfer creates surf\lh.pial.T1 and surf\rh.pial.T2 which mne.gui.locate_ieeg couldn't find and throws error. When I renamed the files to what is expected by mne.gui.locate_ieeg - they were found. This is not specific to the iEEG GUI though - the same happens when trying to create Brain, so it might be a difference in how some freesurfer versions now operate? I'm using freesurfer 7.2.0 on Windows Subsystem for Linux (Ubuntu on wsl2) and  I'll paste the errors later as I am on a different computer now.
I am not sure if "snap to center" works, and if it does how to verify that - I turned it on and off and didn't see a difference. Also it might be a tiny bit counterintuitive: when it says "off" on the push button it may also be interpreted that the option is on but pressing the button will turn it off (as the button says) - when I wasn't sure if it works or not this added to my confusion.
UPDATE: OK, I think I understand how "Snap to Center" works now, it does not affect cursor movement, but only mark placement.
I tried pressing 'b' on the keyboard to turn the brain on and off (as the help mentions) but it didn't do anything for me.  I'll test other buttons soon and report.

I'll be happy to do more testing etc. :)

Also with verbose=False I get lots of printed info like:
Clicked Z (2) axis at pos (89.74758620689654,<PHONE_NUMBER>3950618)
Clicked X (0) axis at pos<PHONE_NUMBER>0847166,<PHONE_NUMBER>2592591)
Clicked Z (2) axis at pos (94.71310344827585,<PHONE_NUMBER>1587905)
Clicked Y (1) axis at pos (98.94450840695353,<PHONE_NUMBER>8518516)
Clicked X (0) axis at pos<PHONE_NUMBER>6070662,<PHONE_NUMBER>7777776)
Clicked Y (1) axis at pos (98.81227700199486,<PHONE_NUMBER>8518516)

Also with verbose=False I get lots of printed info like:

those should probably be logger.debug messages, only someone debugging would care about the clicked coordinates I think.

I made a PR to fix the first issue in Brain but I didn't fix it for the ieeg_locate GUI. I can make a PR.
For the second one, yes it only effects the placement and when it says "On" it's on. If you want to make a PR to clarify the documentation for that in the tutorial, that would be great.
I can also fix the b shortcut and the logging now.

Hmmm, I was not able to replicate the b keyboard shortcut not working. Perhaps you just needed to click on the window. It's also possible that the focus was on a widget that hadn't had it's keyboard event overridden. I think I fixed one or two of those here: https://github.com/mne-tools/mne-python/pull/11352 but it isn't merged yet.

Thanks for quick fix @alexrockhill, I will try to replicate the keyboard shortcuts issue and maybe I'll come up with clarifications for snap to center.


Debug mode flag

Based on this ticket and in a Zulip conversation looks that we should create a -Ddebug flag that keeps running all containers after test execution. This feature helps developers to understand and debug their scenarios.
k8s/Openshift

I k8s/openshift is almost done by this ticket. It's only needed to create a -Ddebug flag in order to trigger the current behavior:

ts.kubernetes.delete.project.after.all=false
ts.kubernetes.ephemeral.namespaces.enabled=false

Baremetal
Requirements: If -Ddebug is provided then containers and applications should keep running after test execution

I'll change priority as (way I plan to impl. it, not just K8) it basically fixes https://github.com/quarkus-qe/quarkus-test-suite/issues/145 which has high priority.
cc @mjurc


Add worker query

The difference from the workflow query is that it is emitted using only taskList, not a workflowID. The basic use case is to query state of a worker that listens of this taskList. We could also perform fan out queries to all workers that poll in some fixed interval, but they would be more complex to implement.
Examples of such useful queries:
ping: verify that there is at least one worker listening on the given task list.
listActivityTypes: activity types supported by a worker
listWorkflowTypes: workflow types supported by a worker
invokeActivity: invoke activity synchronously from the CLI
invokeDecider: invoke decider giving it a recorded history from a file
showWorkerConfig: worker configuration like parallelism, timeouts, etc.

Another query type: return workflow type input and output parameters types.


Handle autoGenerateObjectIDIfNotExist parameter for replaceAllObjects() method

The autoGenerateObjectIDIfNotExist boolean parameter is for now only valid in
the context of the saveObjects() method. As pointed out by @julienpa, it would
make sense to also accepts it as a valid parameter of replaceAllObjects().
For backward-compatiblity, let's make sure the default behavior of calling
replaceAllObjects() without the autoGenerateObjectIDIfNotExist parameter is
still considered as if it was set to false.

Done in v4.


create rocksdb guide

Thanks for making the guide! Is there a merge conflict / branching issue happening though?

Codecov Report

Merging #775 (f7f7c6e) into main (92ed4d9) will increase coverage by 1.26%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main     #775      +/-   ##
==========================================
+ Coverage   18.69%   19.96%   +1.26%
==========================================
  Files         171      189      +18
  Lines       23814    24542     +728
==========================================
+ Hits         4452     4899     +447
- Misses      18600    18788     +188
- Partials      762      855      +93

Impacted Files
Coverage Δ

x/gamm/types/key.go
7.69% <0.00%> (-25.65%)
:arrow_down:

x/gamm/keeper/pool.go
69.67% <0.00%> (-11.41%)
:arrow_down:

x/lockup/genesis.go
50.00% <0.00%> (-5.56%)
:arrow_down:

x/lockup/keeper/utils.go
95.55% <0.00%> (-4.45%)
:arrow_down:

x/claim/keeper/hooks.go
26.92% <0.00%> (-2.25%)
:arrow_down:

x/lockup/keeper/lock.go
60.54% <0.00%> (-2.06%)
:arrow_down:

x/lockup/client/cli/tx.go
62.50% <0.00%> (-1.79%)
:arrow_down:

x/txfees/keeper/feedecorator.go
72.09% <0.00%> (-1.60%)
:arrow_down:

x/incentives/keeper/keeper.go
79.16% <0.00%> (-0.84%)
:arrow_down:

x/lockup/abci.go
0.00% <0.00%> (ø)

... and 24 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 92ed4d9...f7f7c6e. Read the comment docs.

Wait im so sorry, I didn't mean to close this


make new stream calls accept a context

this will allow dials caused by NewStream calls to be cancelled. They have a bad habit of hanging otherwise.

please just give a LGTM and let me merge.

@whyrusleeping it's been merged for half an hour


documentation: update pull request template

I've used the PR template quite a bit at this point. I found the template helpful, especially at first.
@kotp asked me to take a pass through it and make any suggestions I might have to improve it.

@Insti less evil?

It's now 4 lines longer than it was before. :(
Unless it's a PR to delete the whole thing I don't really care.


Unread stories are prefiltered - how to see all unfiltered stories

As it's easier to see from images here are images of NewsBlur and InoReader. In a nutshell, the Inoreader shows the correct number of unread stories, but NewsBlur does not.
Both Feed Reader are marked unread yesterday at the same time.
NewsBlur:
See the yellow stories, that are somehow prefiltered (marked as read).

InoReader:
The correct number of stories (nothing marked as read).

It seems that the feeds are somehow prefiltered. Maybe it's marked as unread by relevance somehow? But I don't want NewsBlur doing this. How can I disable this feature and see my feeds unfiltered. Thanks.

I believe you have stories being filtered out using the Intelligence Trainer. Can you right-click on the feed title and go to the trainer and see if anything is in red? Alternatively, do you see a "Show Hidden Stories" button at the top?

Indeed I accidentially used the intelligence Trainer. But on that feed there is nothing red anyway.
I cannot find a way to disable that Trainer. Where is that global disable setting placed? Thanks.

Sorry but I tested so much. I cannot get the same number of stories as in  InoReader.
InoReader always has more stories. Somehow Newsblur always filters, also when the Intellegence feature i disabled.
This is so strange. Also currently it seems as if the servers are a bit laggy. I cannot really save settings of my feeds. Also I have a special RSS Feed (http://hukd.mydealz.de/rss/hot) that cannot be added somehow.
I really want to use NewsBlur, but it's too buggy right now =(

Looks like
http://hukd.mydealz.de/rss/hot is http://www.newsblur.com/site/1496997/mydealz. I added it and it popped up immediately. As for the other feed, can you tell me the title of stories that you don't see? What's your username, I'd be happy to take a look.

Puh, ok it's so damn hard to compare als NewsBlur and InoReader are not sorting the same way. I tried to make it a bit clearer with colouring the stories.
Differences between Feed-Reader
As you can see, some of the not coloured InoReader stories are missing in NewsBlur. Best Examle is the "Goldene Kamera...". This is not appearing in Newsblur. In InoReader I can access the story on Spiegel website. So it's not deleted.
Another issue might be that some of the stories might have been updated? That's why there are multiple of the same in InoReader, right?

Hey @samuelclay could you help me on this issue? Or just tell me the reason for this. Maybe I can find a workaround on this. Thanks.

Oof this is a hard one. I'm not sure I can help you because when I attempted to download the feed, every story showed up that was in the feed. Not sure what NewsBlur is doing, but it's not deleting stories until they fall off the bottom.


🎵 Arrows in Arrows in Arrows

Preparation

[x] Tree of Fame
[x] Habitat
[ ] Cursors
[ ] Screen of Fame

Script

[x] Intro
[x] Arrow of Creation
[x] Arrow of Recording
[x] Arrow of Noise
[x] Arrow of Connection
[x] Arrow of Time
[x] Arrow of Destruction
[x] Arrow of Reality
[x] Arrow of Alignment
[x] Arrow of Movement
[x] Arrow of Teleportation
[x] Arrow of Modification
[x] Arrow of Infinity
[x] Outro

Voice

[x] Intro
[ ] Arrow of Creation
[ ] Arrow of Recording
[ ] Arrow of Noise
[ ] Arrow of Connection
[ ] Arrow of Time
[ ] Arrow of Destruction
[ ] Arrow of Reality
[ ] Arrow of Alignment
[ ] Arrow of Movement
[ ] Arrow of Teleportation
[ ] Arrow of Modification
[ ] Arrow of Infinity
[ ] Outro

Code

[x] Arrow of Creation
[x] Arrow of Recording
[ ] Arrow of Noise
[x] Arrow of Connection
[x] Arrow of Time
[x] Arrow of Destruction
[ ] Arrow of Reality
[ ] Arrow of Alignment
[ ] Arrow of Movement
[ ] Arrow of Teleportation
[ ] Arrow of Modification
[ ] Arrow of Infinity

Video

[x] Intro
[ ] Arrow of Creation
[ ] Arrow of Recording
[ ] Arrow of Noise
[ ] Arrow of Connection
[ ] Arrow of Time
[ ] Arrow of Destruction
[ ] Arrow of Reality
[ ] Arrow of Alignment
[ ] Arrow of Control
[ ] Arrow of Movement
[ ] Arrow of Teleportation
[ ] Arrow of Modification
[ ] Arrow of Infinity
[ ] Outro

Outreach

[x] Teaser
[ ] Teaser 2

Tree of Fame time

Tree of Fame done
Habitat time!!

Working on some state management stuff for habitat, and did a cleanup

Renamed ArrowRoost to Arroost

I got some barebones structure going
and deployed at https://incandescent-kitten-32f1ef.netlify.app/

I did some more updates to habitat

I added a todo list of things to R+D

Figured out all the arrows - now changed to list of things to code. Here we go!

just a lil update: Arrow of Creation is going
Now working on Recording + Noise

Moved em to issues

Script done

Technically, recording + noise code are done.
Creation still needs cloning!

Voice done and edited - but will probably do some reshoots

Update:

I did a re-script and re-take and re-structure. It's good now! I should update the todo list accordingly. I think I could potentially drop the Arrow of Control but let's see how we go! eg: Could move pitch controls to the Arrow of Recording instead. Depends if I really need volume/lowpass/etc or not. If I do need it, I need the Arrow of Control.
Teaser trailer is done, and out!
I'm currently working on getting nogan + arroost to work together well.

You should really lock these issues to contributors only.

no its ok :)

Arroost and Nogan now WORKING TOGETHER

Major progress on arroost UI, speeding up a lot now

Updated to reflect current status

yeah its gonna do some more stuff too :)

arrow of reality code done

updated script

No music!!!?

hey Luke, where did you learn js? in school or online course or where?
i am not good at js and i want to learn it properly, i have learned python using SoloLearn (not to advertise) are there any better choices?

hey Luke, where did you learn js? in school or online course or where?

I first learned javascript on codecademy! it was quite nice and simple back then though

creation video done

creation video done, also cursors and screen of fame done

Amazing!
Can't wait for the finished Video!!

arrow of recording video done

arrow of noise video done

notes:

title sequence misaligned background
flip the panning of some things
slower noise manipulation - add extra left and right if needed
fewer 'berds'

feedback applied, except for panning, which I'll do when I'm using my better headphones

connection video done

voice for time done

video for timing done

timing voice done

first half of timing video done

wrapping up for today, did most of the music for timing video. maybe add some wind instruments tomorrow

notes:

[ ] maybe tweak down the volume of second voice?
[ ] tweak down volume of some later sounds?
[ ] maybe a build-up sound to the "chain sounds" section
[ ] maybe "chain sounds" could be low-passed? maybe not tho
[ ] consider showing berd at "chain sounds". maybe too soon since the last time though. and blank screen is kinda cool.

feedback applied
except for the "chain sounds" ones because gonna do more with that section anyway

music for timing done

CUT DESTRUCTION AND REALITY! don't need em

TIMING VIDEO DONE

readjusted todo list now that i cut some stuff

ALL VOICE DONE.
and kept in a short version of definition

outro music done

mapped out infinity til end. need to record some voice for outro. but unsure how long itll be? hmm

feedback

[ ] i think it would be good to bring back in nara in the credits. feels like it deserves a proper ending
[ ] xylophone too loud on non-bassy speakers
[ ] go on, do the "NEW VIDEO EVERY" dripfeed

2 days until finished video! i guess..

2 days until finished video! i guess..

my current guess is the 12th january

OK re-toned the ending. much better now

feedback all applied

ARROW OF INFINITY CODE DONE also
maybe could make it show pulses? or just avoid that.
just avoid i think, its already pretty impressive

ALL MUSIC DONE
video from here til the end

all clips mapped out for the remainder of the video

made the dream music more intentional

[ ] greatly simplify sounds in dream
[ ] remove otomatone from outro

[ ] add (at least) 2 more berd t-shirts in build up to dream. more madness. consider little whistle in those bits to foreshadow? one of these clips can replace the empty tree. the other can either replace some arroost, or just get squeezed in. (see next point)
[ ] ditch some arroost clips leading up to dream. let the boy shine.
[ ] deal with the accidental whistle in the outro. it's the by accident but it kinda works!?!? or maybe not i dunno
[ ] extend credits?? feels rushed.
[ ] double check that none of the audio poops the speakers

[ ] remove white from spin down (and elsewhere). save white for after dream.
[ ] give money shot white background
[ ] clips jump too fast just before dream. i told u - more berd roll, less b roll.

[ ] pout slightly out of time
[ ] at the very least, try out fading to white at end
[ ] in the pre-dream, start doing the black 'pauses' perhaps (to start with)

Next issue: https://github.com/TodePond/99/issues/1


Ink.UI.SmoothScroller - preventDefault - page still refreshing

Trying to figure out why this page keeps refreshing.  I don't want it to refresh when they're simply clicking a table of contents.  Basically it's hitting componentDidMount every time I click an anchor and can't figure out how to stop it.
I am using BrowserRouter from react-router so I wonder since Ink Scroller / the Anchor is creating a hash on my urls when I click the link, it might be forcing a new page fetch from the router. Not sure how to prevent it from doing so.  How would I turn that off and still have the scroller work, is that possible?  Right now I'm using className="ink-smooth-scroll" not the Ink JavaScript object so how would you set that prop?
TableOfContents.tsx

declare const Ink: any;

export default class TableOfContents extends Component <{ id: string }, { rendered: boolean }> {

  componentDidMount() {
    setTimeout(() => {
      const el = ReactDOM.findDOMNode(this);

        if (el && document.getElementById('interviewHeading')) {
          new Ink.UI.Sticky(el, { topElement: '#interviewHeading', bottomElement: '#footer' });
        }
     }, 200);
  }

  render() {
    return (

        <SectionLink href="ft-company-profile" linkText="Company Profile" />
        <SectionLink href="ft-team-profile" linkText="Team Profile" />

    );
  }
}

const HomeLink = () => (

      HOME

);

const SectionLink: React.FC<{ href: string, linkText: string }>	= ({ href, linkText }) => {
  const existsOnPage: HTMLElement | null = document.getElementById(href);

  return (existsOnPage && (

        <a className="ink-smooth-scroll" href={`#${href}`}>{linkText}

  )) || null;
};

sweet!  I added this to the constructor, walla!  fixed
Ink.requireModules(['Ink.UI.SmoothScroller_1'], (SmoothScroller) => {
  SmoothScroller.init();
  SmoothScroller.changeHash = false;
});


Screenshots for README

sweet! I imagine that this is with the new stInspector :).

Pharo 9 support on the way :)

Added one more screenshot


Add coverage as a pre-commit hook

It would be useful to check that any new code added to the code base is covered by tests.
Therefore, adding coverage to .pre-commit-config.yaml should be explored so that the test coverage can be checked when code is committed.

Commit 03d07b8976942b681563b3ff8fb69f5ee8ab4455


bpfman: Make TC and XDP dispatcher configurable

Requested in upstream issue 1120

Overlooked the need to replace the actual accessing of the const XDP_DISPATCHER_IMAGE and TC_DISPATCHER_IMAGE values  with access via the config object.
I considered moving these constants out of lib.rs to prevent future direct access accidents, but was unsure whether any CI/CD touched these values due to the comment block:
    // When release is made, the dispatcher images should be changed to the
    // release tag, for example "v0.5.4". After release is made, the tag should
    // be changed back to the "latest" release tag. Note also that these values should
    // be read through the public interfaces provided by config::Config's RegistryConfig

Thanks for your contribution, James!


internal: greatly simplify eager macro representation

Share structures with lazy macros, make both use MacroCallLoc.
Remove intern_eager_expansion, EagerCallLoc, EagerMacroId, and many matches on MacroCallId.
Make a lot of FIXMEs obsolete since the code no longer distinguishes between eager and lazy macros.
Add EagerCallInfo, which is Some for calls to eager macros and holds the argument or expansion result and the included file.

:heart_eyes:
Any speed/memory difference?

No big difference, minor reduction in memory usage (which I didn't really expect):
master:

Total:               22.17s, 67ginstr, 738mb
    80mb FileItemTreeQuery
    49mb HygieneFrameQuery
    48mb CrateDefMapQueryQuery
    39mb TraitImplsInDepsQuery
    38mb FileTextQuery (purge)
    36mb MacroArgTextQuery
    36mb BodyQuery
    33mb TraitSolveQueryQuery (purge)
    33mb BodyWithSourceMapQuery
    16mb InferQueryQuery (deps)
    16mb ExprScopesQuery
    12mb ParseQuery
    11mb ImplDatumQuery (purge)
    11mb FunctionDataQuery
    11mb TraitSolveQueryQuery (deps)
    10mb MacroDefQuery
    10mb ParseMacroExpansionQuery (purge)
     9mb AstIdMapQuery

simplify-eager-macros:

Total:               21.76s, 67ginstr, 733mb
    80mb FileItemTreeQuery
    50mb HygieneFrameQuery
    48mb CrateDefMapQueryQuery
    39mb TraitImplsInDepsQuery
    38mb FileTextQuery (purge)
    36mb MacroArgTextQuery
    36mb BodyQuery
    34mb TraitSolveQueryQuery (purge)
    28mb BodyWithSourceMapQuery
    17mb InferQueryQuery (deps)
    16mb ExprScopesQuery
    16mb InternMacroQuery
    13mb ParseQuery
    11mb ImplDatumQuery (purge)
    11mb FunctionDataQuery
    11mb MacroDefQuery
    10mb TraitSolveQueryQuery (deps)
    10mb ParseMacroExpansionQuery (purge)
     9mb InferQueryQuery
     9mb GenericParamsQuery (purge)
     9mb InternMacroQuery (purge)
     8mb AstIdMapQuery

bors r+


preloader error script.js file

in the script file, the preloader has issues while loading the website
Uncaught Type Error: Cannot read properties of null (reading 'classList')
at script.js:186

I can do this


Support for distributed tf-cnn benchmark

We need to provide support for distributed benchmarks, a starting point could be using tf-cnn-benchmark https://github.com/tensorflow/benchmarks https://github.com/kubeflow/kubeflow/tree/master/tf-controller-examples/tf-cnn
We need to provide images for the whole workflow, which should consists of configurator, runner, and reporter, where the runner should adapt the tf-cnn benchmark to a tfjob.

We may start with a simple local training version first.
/assign @libbyandhelen
/assign @xyhuang

partially addressed by #26 #28 #29, we still need to fully verify that the distributed version works without issue

/priority p1

Closing this as it has been addressed. Please open new issues for any related problems.


한글로 번역해주세요.

Issue Type: Feature Request
작성한 코드에 마우스를 올릴시 설명이 영문으로 나옵니다 한국어로 수정해 주세요.
VS Code version: Code 1.60.0 (e7d7e9a9348e6a8cc8c03f877d39cb72e5dfb1ff, 2021-09-01T10:41:52.311Z)
OS version: Windows_NT x64 10.0.19043
Restricted Mode: No

Google Translate: When you mouse over the written code, the description appears in English. Please correct it in Korean.

I think screenshots with examples will be helpful. Otherwise it's hard to tell problem is with language pack or it's docs picked from code/definitions that will be displayed as is.


build: permit cross-compiling android from Windows

The host value is used as part of the path to the tools.  The NDK only
has Darwin, Linux, and Windows prebuilts.  Enumerate the hosts fully and
record an error message otherwise.

Replace this paragraph with a description of your changes and rationale. Provide links to external references/discussions if appropriate.

Resolves SR-NNNN.

CC: @drodriguez

@swift-ci please smoke test


Configuring accelerators with optional dependencies does not work with build system

Thank you for the improvements for installing Pytorch! The example at https://docs.astral.sh/uv/guides/integration/pytorch/#configuring-accelerators-with-optional-dependencies works great. But it fails when I add a build system:
uv run --extra cpu python
  × Failed to build `project @ file:///home/.../project`
  ╰─▶ Source entry for `torch` only applies to extra `cpu`, but the `cpu` extra does not
      exist. When an extra is present on a source (e.g., `extra = "cpu"`), the relevant
      package must be included in the `project.optional-dependencies` section for that extra
      (e.g., `project.optional-dependencies = { "cpu" = ["torch"] }`).

Running on Ubuntu with uv 0.5.3. This is the pyproject.toml, with only the first 3 lines added to the example.
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"

[project]
name = "project"
version = "0.1.0"
requires-python = ">=3.12.0"
dependencies = []

[project.optional-dependencies]
cpu = [
  "torch>=2.5.1",
  "torchvision>=0.20.1",
]
cu124 = [
  "torch>=2.5.1",
  "torchvision>=0.20.1",
]

[tool.uv]
conflicts = [
  [
    { extra = "cpu" },
    { extra = "cu124" },
  ],
]

[tool.uv.sources]
torch = [
  { index = "pytorch-cpu", extra = "cpu", marker = "platform_system != 'Darwin'" },
  { index = "pytorch-cu124", extra = "cu124" },
]
torchvision = [
  { index = "pytorch-cpu", extra = "cpu", marker = "platform_system != 'Darwin'" },
  { index = "pytorch-cu124", extra = "cu124" },
]

[[tool.uv.index]]
name = "pytorch-cpu"
url = "https://download.pytorch.org/whl/cpu"
explicit = true

[[tool.uv.index]]
name = "pytorch-cu124"
url = "https://download.pytorch.org/whl/cu124"
explicit = true

Oh thanks, let me take a look…

Thanks, it was an oversight on my part.


"Upload your notebook" button doesn't seem to work for me?

I've tried on both chrome and firefox, clicking the "Upload your notebook" button results in a greyed-out screen but no visible UI element for selecting a notebook. Apologies if this is user error.

Fixed by https://github.com/notebook-sharing-space/ipynb.pub/commit/33961605a93856c4e6e91b0182eecff81f3c69be (thanks!).


Tracing not working in GKE with Google.Cloud.Diagnostics.AspNetCore 3.0.0-beta13; works locally

Purpose
Use Google Cloud Diagnostics on a .net core REST API, for Logging, Tracing and Error Reporting in two possible scenarios:

Local execution on Visual Studio 2017
Deployed on a Docker Container and Running on a GCP Kubernetes Engine

Description
For configuring Google Cloud Diagnostics, two documentation sources were used:

Google.Cloud.Diagnostics.AspNetCore
Enable configuration support for Google.Cloud.Diagnostics.AspNetCore #2435

Based on the above documentation the UseGoogleDiagnostics extension method on IWebHostBuilder was used, as this configures Logging, Tracing and Error Reporting middleware.
According to the 2) link, the following table presents the information needed when using the UseGoogleDiagnostics method:

For local execution => project_id, module_id, and version_id are needed,
For GKE => module_id, and version_id

The .net core configuration files were used to provide the above information for each deployment:
appsettings.json
{
  "GCP": {
    "ServiceID": "my-service",
    "VersionID": "v1"
  }
}

appsettings.Development.json
{
  "GCP": {
    "ID": "my-id"
  }
}

Basically, the above will render the following configuration:

On Local execution

return WebHost.CreateDefaultBuilder(args)
	.UseGoogleDiagnostics("my-id", "my-service", "v1")
	.UseStartup<Startup>();

On GKE

return WebHost.CreateDefaultBuilder(args)
	.UseGoogleDiagnostics(null, "my-service", "v1")
	.UseStartup<Startup>();

To guarantee i'm using the correct information, i used two places on the GCP UI to verify:

On Endpoints Listing, checked the service details:

Service name: my-service Active version: v1

Checked the Endpoint logs, for a specific API POST Endpoint

{
insertId: "e6a63a28-1451-4132-ad44-a4447c33a4ac@a1"

jsonPayload: {…}
 logName: "projects/xxx%2Fendpoints_log"
 receiveTimestamp: "2019-07-11T21:03:34.851569606Z"

resource: {

labels: {
   location: "us-central1-a"
   method: "v1.xxx.ApiOCRPost"
   project_id: "my-id"
   service: "my-service"
   version: "v1"
  }
  type: "api"
 }
 severity: "INFO"
 timestamp: "2019-07-11T21:03:27.397632588Z"
}

Is there a BUG?
When executing the service Endpoints, for each specific deployment, Google Cloud Diagnostics behaves differently:

On Local execution (VS2017) => Logging, Tracing and Error Reporting work as expected, everything showing in GCP UI
On GKE Deployment => Logging, Tracing and Error Reporting DO NOT Work, nothing shows in GCP UI

I've tried several variations, hardcoding the values directly in the code, etc, but no matter what i do, Google Cloud Diagnostics is not working when deployed in GKE:

Hardcoding the values directly

return WebHost.CreateDefaultBuilder(args)
	.UseGoogleDiagnostics(null, "my-service", "v1")
	.UseStartup<Startup>();

Without the v in Version

return WebHost.CreateDefaultBuilder(args)
	.UseGoogleDiagnostics(null, "my-service", "1")
	.UseStartup<Startup>();

Am i doing anything wrong or is it a bug on Google.Cloud.Diagnostics.AspNetCore 3.0.0-beta13?
Environment details

.NET version: 2.2.0
Package name and version: Google.Cloud.Diagnostics.AspNetCore 3.0.0-beta13

Thanks for reporting this - I've had Google.Cloud.Diagnostics.AspNetCore working before, although it's not been as smooth as I'd have liked.
Note that the table isn't "information needed" so much as "information provided by MonitoredResource" (when that's working properly). So I wouldn't be entirely surprised at having to provide some information manually, but at that point, it should work. I'll try to reproduce this on Monday and we can work out where to go from there.

Thank you very much for the quick reply.
Please note that on a GKE deployment, even when passing all the parameters, it still didn't work:
return WebHost.CreateDefaultBuilder(args)
	.UseGoogleDiagnostics("my-id", "my-service", "1")
	.UseStartup<Startup>();

return WebHost.CreateDefaultBuilder(args)
	.UseGoogleDiagnostics("my-id", "my-service", "v1")
	.UseStartup<Startup>();

Regarding the Version_ID parameter, should it be sent as "v1" or simply "1" ?

Will look in detail on Monday.

Okay, investigation log...

Create a new solution in VS2019
Create a new project, selecting ASP.NET Core, then "API" template using ASP.NET Core 2.1, without configuring for HTTPS or Docker (just for simplicity).
Set the default log level to Information in appsettings.json so we can see a log entry for each request
Deploy to GKE via Cloud Build (run "dotnet publish" locally, then upload results with a Dockerfile and Cloud Build config that builds the docker image, publishes it and update the GKE deployment). I can share these files if necessary, but they shouldn't be relevant.
Visit (address)/api/values - yes, it's working
Visit the Log Viewer - the logs are shown under "GKE Container" -> "diagnostics-test" (the name of my GKE service) - these come from the console
In ValuesController.Get(int id), add code to throw an exception if the input is negative
Redeploy, and visit /api/values/-10

Error is shown in the logs, but only as info; nothing in error reporting

Add dependency to Google.Cloud.Diagnostics.AspNetCore 3.0.0-beta13
Add .UseGoogleDiagnostics(projectId, "diagnostics-test", "v1") to Program.cs
Redeploy, and visit /api/values
Visit the Log Viewer - the logs are now shown under "GKE Container" -> "aspnetcore" (the default log name)
Visit /api/values/-20 and check the logs: this time there's an error log level, and the error is logged to Error Reporting

So, it looks like it's working for me when all the values are specified, but:

The default log name is aspnetcore (which I agree isn't ideal; I want to improve that)
I haven't tried without specifying the various fields yet; I suspect that autodetection of the project ID may run foul of this issue

Let's try to get your application working to the same level as my test app, and then we can make progress from there together.

Thank you very much for your feedback.
Tomorrow i will create a specific project, based on your analysis, to provide the information you requested.

I was able to execute all the steps in your detailed response.
I've created a simple .net core REST API in .net core 2.1, and followed your instructions ( I used VS 2017).
Until adding .UseGoogleDiagnostics, i've got the following logs from the log console, under GKE Container -> dev3-cluster:
The Log for the successful operation:
2019-07-15 22:40:29.265 BST GET Method Invoked with ID:12345
{
 insertId: "t58t5ig10rya1x"

labels: {
  compute.googleapis.com/resource_name: "gke-dev3-cluster-node-pool-c639236e-mrrb"
  container.googleapis.com/namespace_name: "default"
  container.googleapis.com/pod_name: "my-service-769b6bdc9d-kn5z2"
  container.googleapis.com/stream: "stdout"
 }
 logName: "projects/dev/logs/my-service"
 receiveTimestamp: "2019-07-15T21:40:34.815778174Z"

resource: {

labels: {
   cluster_name: "dev3-cluster"
   container_name: "my-service"
   instance_id: "5632450518254185334"
   namespace_id: "default"
   pod_id: "my-service-769b6bdc9d-kn5z2"
   project_id: "dev"
   zone: "us-central1-a"
  }
  type: "container"
 }
 severity: "INFO"
 textPayload: "      GET Method Invoked with ID:12345
"
 timestamp: "2019-07-15T21:40:29.265524017Z"
}

The log when sending a negative value:
2019-07-15 22:42:17.535 BST
System.Exception: Id cannot be Negative:-54321 at GoogleDiagnosticsTest.Controllers.ValuesController.Get(Int32 id) in /src/GoogleDiagnosticsTest/Controllers/ValuesController.cs:line 36 at lambda_method(Closure , Object , Object[] ) at

After adding .UseGoogleDiagnostics("my-project-id", "diagnostics-test", "v1"), the logs still apear  under GKE Container -> dev3-cluster:
The Log for the successful operation:
2019-07-15 22:57:54.568 BST
GET Method Invoked with ID:123499
Expand all | Collapse all
{
 insertId: "be17vcfy2os3x"

jsonPayload: {
  log_name: "GoogleDiagnosticsTest.Controllers.ValuesController"
  message: "GET Method Invoked with ID:123499"
  scope: "ConnectionId:0HLO9DTUDN88Q => RequestId:0HLO9DTUDN88Q:00000001 RequestPath:/api/values/123499 => GoogleDiagnosticsTest.Controllers.ValuesController.Get (GoogleDiagnosticsTest) => "
 }

labels: {
  trace_identifier: "0HLO9DTUDN88Q:00000001"
 }
 logName: "projects/dev/logs/aspnetcore"
 receiveTimestamp: "2019-07-15T21:57:57.418466292Z"

resource: {

labels: {
   cluster_name: "dev3-cluster"
   container_name: ""
   instance_id: "6880185264166234998"
   namespace_id: "default"
   pod_id: "my-service-769b6bdc9d-4k6ht"
   project_id: "dev"
   zone: "us-central1-a"
  }
  type: "container"
 }
 severity: "INFO"
 timestamp: "2019-07-15T21:57:54.568968600Z"
 trace: "projects/dev/traces/6da53c4682a18e8ec52141de9dbfeb22"
}

The Error was now correctly presented in the Error Logging UI.
Up until this point, i successfully replicated your results, with both Logging and Error Reporting working correctly.
Unfortunately, there seems to be a problem with tracing.
I added a Tracer to the Get/{id} operation:
        [HttpGet("{id}")]
        public ActionResult<string> Get(int id)
        {
            using (_tracer.StartSpan(id.ToString()))
            {
                _logger.LogInformation("GET Method Invoked with ID:" + id);

                if (id >= 0) return id.ToString();

                _logger.LogError("ID cannot be Negative:" + id);
                throw new Exception("Id cannot be Negative:" + id);
            }
        }

Although the operation was successfully Logged, there is no Trace information in the Tracing UI.
Finally, i executed the project locally, running from VS2017:

Tracing Works, Tracing UI present the following information:

![Tracing]()
After the above tests, my results were:

When deploying in GKE, Logging and Error Reporting Works, Tracing does not.
When deploying locally, Tracing works.

Please verify, and please inform if you need any specific information from me.
Regards.

After adding .UseGoogleDiagnostics("my-project-id", "diagnostics-test", "v1"), the logs still apear under GKE Container -> dev3-cluster

That's surprising - I would expect the log name to default to aspnetcore - which I don't like in terms of default behaviour, but it's what I observe.
Indeed, the JSON you showed included logName: "projects/dev/logs/aspnetcore" which should mean it shows up under aspnetcore in the UI.
I'll try to reproduce your tracing results.

Ah, I've just seen - you were scoping to the cluster. I seem to remember there are changes to logging around how things are grouped, which could explain this. It's possibly related to https://cloud.google.com/monitoring/kubernetes-engine/migration - I'll need to investigate more.

Hmm... I've had exactly the opposite experience. Running locally, I didn't get any logs or tracing (I need to work out why) but in GKE I get the kind of timeline you've shown.
Could you have another look for the traces that you logged back when you ran your earlier test? I know sometimes it can take a little while for traces to propagate. Also, could you confirm whether there are any traces? I initially saw some traces show with just the URI, but no "inner trace" - which I suspect is due to looking at the traces very shortly after they'd happened.
Also, could you show how you're initializing your logger and tracer? I've just got:
public ValuesController(ILoggerFactory loggerFactory, IManagedTracer tracer)
{
    _logger = loggerFactory.CreateLogger<ValuesController>();
    _tracer = tracer;
}

I've just confirmed in the Tracing UI, and i only have tracing on the Operation that was executed when running locally.
I'm initializing Logger, Tracing and Error Reporting as defined here:

The easiest way to initialize Google Diagnostics services in ASP.NET Core 2.0 or higher is using the UseGoogleDiagnostics extentension method on IWebHostBuilder. This configures Logging, Tracing and Error Reporting middleware.

Program.cs
        public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
            WebHost.CreateDefaultBuilder(args)
                .UseGoogleDiagnostics("my-project-id", "diagnostics-test", "v1")
                .UseStartup<Startup>();

I'm initializing Logger, Tracing and Error Reporting as defined here:

But that doesn't provide you any fields. Your code uses _tracer and _logger, and you haven't shown how you've initialized those. See the code in my comment - that's how I've initialized them (along with the same UseGoogleDiagnostics call you're using) and it was fine. If you've initialized your fields in a different way, that could be the problem. It may not be, but I thought it was worth checking out.

I'm assuming that when using .UseGoogleDiagnostics("my-project-id", "diagnostics-test", "v1"), the Logging, Tracing, and Error Logging capabilities become available to the "project", and can be injected by DI:
    [Route("api/[controller]")]
    [ApiController]
    public class ValuesController : ControllerBase
    {
        private readonly ILogger<ValuesController> _logger;
        private readonly IManagedTracer _tracer;

        public ValuesController(ILogger<ValuesController> logger, IManagedTracer tracer)
        {
            _logger = logger;
            _tracer = tracer;
        }

....

Right, so it's basically equivalent to what I've done, barring using a logger factory vs a logger.
In that case I'm really confused as to why the code is working for me but not for you. I'll look into why it wasn't working locally for me (despite that working for you), as that might give me some avenues to explore. Apologies that this is taking a while to diagnose - issues with diagnostics libraries tend to be tricky to pin down, I'm afraid :(

Thank you very much for taking the time to look at this.
If you need any information, please ask, i may not be available immediately due to timezone diferences, but i will try to provide you the information you need as soon as possible.
This afternoon i will also repeat my tests to check if i'm doing anything wrong, as i don't want you to waist your time due to any potential mistake i may have made ...

Just for the sake of having similar code, i added a Logger Factory:
    [Route("api/[controller]")]
    [ApiController]
    public class ValuesController : ControllerBase
    {
        private readonly ILogger<ValuesController> _logger;
        private readonly IManagedTracer _tracer;

        public ValuesController(ILoggerFactory logFactory, IManagedTracer tracer)
        {
            _logger = logFactory.CreateLogger<ValuesController>();
            _tracer = tracer;
        }

For Local Tests (Running through VS2017):

Tracing works correctly, operation is presented in GCP Tracing UI
Logging is sent to VS Console
GCP Error Tracing UI does not present Errors.

Tracing UI Image:

When Deployed in a GKE:

Tracing does NOT Work,
Logging is correctly sent to GCP Logging UI
Error Tracing is correctly sent to GCP Error Tracing UI

Logged operation:
2019-07-16 16:03:10.127 BST GET Method Invoked with ID:999
{
 insertId: "3me0d0g1fhvz90"

jsonPayload: {
  log_name: "GoogleDiagnosticsTest.Controllers.ValuesController"
  message: "GET Method Invoked with ID:999"
  scope: "ConnectionId:0HLO9VQRLA0AC => RequestId:0HLO9VQRLA0AC:00000001 RequestPath:/api/values/999 => GoogleDiagnosticsTest.Controllers.ValuesController.Get (GoogleDiagnosticsTest) => "
 }

labels: {
  trace_identifier: "0HLO9VQRLA0AC:00000001"
 }
 logName: "projects/my-project-id/logs/aspnetcore"
 receiveTimestamp: "2019-07-16T15:03:13.372478571Z"

resource: {

labels: {
   cluster_name: "my-project-id3-cluster"
   container_name: ""
   instance_id: "8009468853618759780"
   namespace_id: "default"
   pod_id: "my-service-769b6bdc9d-4r7sn"
   project_id: "my-project-id"
   zone: "us-central1-a"
  }
  type: "container"
 }
 severity: "INFO"
 timestamp: "2019-07-16T15:03:10.127326600Z"
 trace: "projects/my-project-id/traces/46bdc016cc6aacdb651061a3a19a1186"
}

Error Reporting:

So just to check, you don't see any traces, or you don't see the "nested" traces? I wonder whether there's some permissions issue... I'll dig into it tomorrow, and I may have some alternative code to test, using the tracing API directly to see if that helps clarify things. (It would be purely to work out what's going on - this code really should work.)
One other thing you might be able to try before then is to include the service account credential you used locally in your web app, and set GOOGLE_APPLICATION_CREDENTIALS to refer to it in your Dockerfile, so that you're using the exact same credentials in both places. (Otherwise you'll be using the default Compute credential when running in GKE, I believe.)

(I'm going to edit the subject line of the issue for clarity.)

I'm not sure if i fully understood your questions, but when running on GKE, i cannot see any trace on the Tracing Menu Options:

I'm available for all the tests you need me to ...
I'm going to include GOOGLE_APPLICATION_CREDENTIALS in Docker file, and i will report back in about 1h.

Right. What I meant was that in the screenshots you've shown, there are two traces, one nested inside the other - I wasn't sure whether you weren't seeing anything, or were only seeing one bar. So thanks for clarifying that.

Just included the credentials Json file on the docker image, and set the GOOGLE_APPLICATION_CREDENTIALS to the credentials file.
Same result, Invoked the Endpoint, and there is no Tracing in the Tracing UI.

Okay - it was a long-shot, but at least it's good to have ruled it out. Will come up with something else for you to try tomorrow :)

Okay, so I've worked out what was wrong locally for me - that was due to a credentials issue. (The account I was using locally didn't have permission to write traces.) Unfortunately it's not currently easy to see that exception - I'll file a new issue about that.
In the meantime, I'll also try some code to call the logging API directly.

Okay, here's the next change to try:

Remove the UseGoogleDiagnostics call in Program.cs (just to simplify things - this will revert to console logging)
Remove the _tracer and _logger fields, and the constructor

Change the Get(int) method to this code:
[HttpGet("{id}")]
public ActionResult<string> Get(int id)
{
    if (id == 9999)
    {
        TraceServiceClient client = TraceServiceClient.Create();
        string projectId = "YOUR PROJECT ID HERE";
        var span = new TraceSpan
        {
            Name = "Manual",
            StartTime = DateTime.UtcNow.ToTimestamp(),
            EndTime = DateTime.UtcNow.AddSeconds(1).ToTimestamp(),
            SpanId = 1L
        };
        var trace = new Trace
        {
            ProjectId = projectId,
            Spans = { span },
            TraceId = Guid.NewGuid().ToString().Replace("-", "")
        };
        var traces = new Traces
        {
            Traces_ = { trace }
        };
        client.PatchTraces(projectId, traces);
    }

    if (id < 0)
    {
        throw new Exception("Negative input");
    }
    return "value";
}

You'll need these using directives:
using Google.Cloud.Trace.V1;
using Google.Protobuf.WellKnownTypes;

First run it locally, and visit /api/values/9999 and see whether that succeeds - I'd expect it to, leaving a trace in Stackdriver with a URI of "Manual". Then deploy it to GKE and visit the same page:

If the request succeeds, you should see another trace in Stackdriver
If the request fails, have a look in the Stackdriver logs to see if there's an exception (which is what I'd expect)

On a Local deploy, Trace works as expected:

On a GKE deploy, i've got the following error:
{
 insertId: "3cfyy1g1dv72qz"

labels: {
  compute.googleapis.com/resource_name: "gke-dev3-cluster-node-pool-0aa4a9b5-438n"
  container.googleapis.com/namespace_name: "default"
  container.googleapis.com/pod_name: "my-service-6665d55b48-8scvz"
  container.googleapis.com/stream: "stdout"
 }
 logName: "projects/dev/logs/my-service"
 receiveTimestamp: "2019-07-17T13:34:42.499499350Z"

resource: {

labels: {
   cluster_name: "dev3-cluster"
   container_name: "my-service"
   instance_id: "8602512414522646266"
   namespace_id: "default"
   pod_id: "my-service-6665d55b48-8scvz"
   project_id: "dev"
   zone: "us-central1-a"
  }
  type: "container"
 }
 severity: "INFO"
 textPayload: "Grpc.Core.RpcException: Status(StatusCode=PermissionDenied, Detail="The caller does not have permission")
   at Grpc.Core.Internal.AsyncCall`2.UnaryCall(TRequest msg)
   at Grpc.Core.DefaultCallInvoker.BlockingUnaryCall[TRequest,TResponse](Method`2 method, String host, CallOptions options, TRequest request)
   at Grpc.Core.Interceptors.InterceptingCallInvoker.<BlockingUnaryCall>b__3_0[TRequest,TResponse](TRequest req, ClientInterceptorContext`2 ctx)
   at Grpc.Core.ClientBase.ClientBaseConfiguration.ClientBaseConfigurationInterceptor.BlockingUnaryCall[TRequest,TResponse](TRequest request, ClientInterceptorContext`2 context, BlockingUnaryCallContinuation`2 continuation)
   at Grpc.Core.Interceptors.InterceptingCallInvoker.BlockingUnaryCall[TRequest,TResponse](Method`2 method, String host, CallOptions options, TRequest request)
   at Google.Cloud.Trace.V1.TraceService.TraceServiceClient.PatchTraces(PatchTracesRequest request, CallOptions options)
   at Google.Api.Gax.Grpc.ApiCall.GrpcCallAdapter`2.CallSync(TRequest request, CallSettings callSettings)
   at Google.Api.Gax.Grpc.ApiCallRetryExtensions.<>c__DisplayClass1_0`2.<WithRetry>b__0(TRequest request, CallSettings callSettings)
   at Google.Cloud.Trace.V1.TraceServiceClientImpl.PatchTraces(PatchTracesRequest request, CallSettings callSettings)
   at GoogleDiagnosticsTest.Controllers.ValuesController.Get(Int32 id) in /src/GoogleDiagnosticsTest/Controllers/ValuesController.cs:line 57
   at lambda_method(Closure , Object , Object[] )
   at Microsoft.Extensions.Internal.ObjectMethodExecutor.Execute(Object target, Object[] parameters)
   at Microsoft.AspNetCore.Mvc.Internal.ActionMethodExecutor.SyncObjectResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments)
   at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.InvokeActionMethodAsync()
   at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.InvokeNextActionFilterAsync()
   at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.Rethrow(ActionExecutedContext context)
   at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
   at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.InvokeInnerFilterAsync()
   at Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.InvokeNextResourceFilter()
   at Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.Rethrow(ResourceExecutedContext context)
   at Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
   at Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.InvokeFilterPipelineAsync()
   at Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.InvokeAsync()
   at Microsoft.AspNetCore.Builder.RouterMiddleware.Invoke(HttpContext httpContext)
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpProtocol.ProcessRequests[TContext](IHttpApplication`1 application)
"
 timestamp: "2019-07-17T13:34:37.549195582Z"
}

Aha! That's definite progress. That suggests that when you tried including the service account file and setting GOOGLE_APPLICATION_CREDENTIALS, something must have gone wrong. (It's hard to know what.)
I'd expect GKE to use the "Compute Engine default service account" by default - could you check the permissions of that within the project?

I'm sorry, could you please guide me on how to obtain the information you requested?

Go into the IAM console. That should show a list of accounts. Under "name", one of them will show "Compute Engine default service account". I'd expect that to be the account used by GKE. Check the listed roles - in my project, it's in the "Editor" role which gives a lot of permissions.
However, it's also possible that GKE-specific permissions are causing the problem. (This is somewhat out of my depth, I'm afraid - it's a complex area! I can find someone with more expertise if necessary.) To check this, find your cluster in the GKE console and see what it's got under "Permissions". In my cluster, "Cloud Platform" is enabled which gives permission for the other APIs... I wonder whether on your cluster, Logging may be enabled but not Tracing.

I don't have a complete knowledge on the our services are being deployed, as this is handled by other team members. They use Terraform + Helm, and i'm not 100% familiar with it.
Regarding the information you requested:
On IAM console,

I don't have "Compute Engine default service account", there are only a set of specific service accounts, for specific project users.

On GKE console, Permissions show that this specific account:

On IAM Console, these are the permissions assigned to the above user:

Could the problem be due to the lack of Trace specific roles to the above user.
I tried to add Trace Admin Role, but it didn't work.

I'm surprised you don't have a compute engine default service account, but maybe things have changed. However, it looks like you've found the right account... and note how it has logs write access, but not trace access.
If you add the role of "Cloud Trace Agent" to that service account, I expect that will solve the problem.

I've just added the Cloud Trace Agent to Permission to the Service account (via Terraform):
# For Agent access to Stackdriver Trace. Can write trace data.
resource "google_project_iam_member" "cloudtrace-agent-role" {
  role   = "roles/cloudtrace.agent"
  member = "serviceAccount:${google_service_account.gke_node_service_account.email}"
}

The service account now has the Trace Agent Role:

And here we can see the cluster is indeed using this service account:

Unfortunately, it still doesn't work :(
{
 insertId: "r774xkg1hcns6v"

labels: {
  compute.googleapis.com/resource_name: "gke-dev3-cluster-node-pool-ef9fc9f7-kzt1"
  container.googleapis.com/namespace_name: "default"
  container.googleapis.com/pod_name: "my-service-6665d55b48-4d8pw"
  container.googleapis.com/stream: "stdout"
 }
 logName: "projects/dev/logs/my-service"
 receiveTimestamp: "2019-07-17T22:17:53.993497454Z"

resource: {

labels: {
   cluster_name: "dev3-cluster"
   container_name: "my-service"
   instance_id: "1317765787607508478"
   namespace_id: "default"
   pod_id: "my-service-6665d55b48-4d8pw"
   project_id: "dev"
   zone: "us-central1-a"
  }
  type: "container"
 }
 severity: "INFO"
 textPayload: "Grpc.Core.RpcException: Status(StatusCode=PermissionDenied, Detail="The caller does not have permission")
   at Grpc.Core.Internal.AsyncCall`2.UnaryCall(TRequest msg)
   at Grpc.Core.DefaultCallInvoker.BlockingUnaryCall[TRequest,TResponse](Method`2 method, String host, CallOptions options, TRequest request)
   at Grpc.Core.Interceptors.InterceptingCallInvoker.<BlockingUnaryCall>b__3_0[TRequest,TResponse](TRequest req, ClientInterceptorContext`2 ctx)
   at Grpc.Core.ClientBase.ClientBaseConfiguration.ClientBaseConfigurationInterceptor.BlockingUnaryCall[TRequest,TResponse](TRequest request, ClientInterceptorContext`2 context, BlockingUnaryCallContinuation`2 continuation)
   at Grpc.Core.Interceptors.InterceptingCallInvoker.BlockingUnaryCall[TRequest,TResponse](Method`2 method, String host, CallOptions options, TRequest request)
   at Google.Cloud.Trace.V1.TraceService.TraceServiceClient.PatchTraces(PatchTracesRequest request, CallOptions options)
   at Google.Api.Gax.Grpc.ApiCall.GrpcCallAdapter`2.CallSync(TRequest request, CallSettings callSettings)
   at Google.Api.Gax.Grpc.ApiCallRetryExtensions.<>c__DisplayClass1_0`2.<WithRetry>b__0(TRequest request, CallSettings callSettings)
   at Google.Cloud.Trace.V1.TraceServiceClientImpl.PatchTraces(PatchTracesRequest request, CallSettings callSettings)
   at GoogleDiagnosticsTest.Controllers.ValuesController.Get(Int32 id) in /src/GoogleDiagnosticsTest/Controllers/ValuesController.cs:line 57
   at lambda_method(Closure , Object , Object[] )
   at Microsoft.Extensions.Internal.ObjectMethodExecutor.Execute(Object target, Object[] parameters)
   at Microsoft.AspNetCore.Mvc.Internal.ActionMethodExecutor.SyncObjectResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments)
   at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.InvokeActionMethodAsync()
   at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.InvokeNextActionFilterAsync()
   at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.Rethrow(ActionExecutedContext context)
   at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
   at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.InvokeInnerFilterAsync()
   at Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.InvokeNextResourceFilter()
   at Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.Rethrow(ResourceExecutedContext context)
   at Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
   at Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.InvokeFilterPipelineAsync()
   at Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.InvokeAsync()
   at Microsoft.AspNetCore.Builder.RouterMiddleware.Invoke(HttpContext httpContext)
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpProtocol.ProcessRequests[TContext](IHttpApplication`1 application)
"
 timestamp: "2019-07-17T22:17:49.740047876Z"
}

Now with the added Trace Agent, although i'm not getting the Tracing for my operations with _tracer.startSpan, i'm seeing these type of Traces for each method invocation:

Tried the Cloud Trace User Role, some error ....

Cloud Trace User is a "viewer" kind of role - your service account won't need that unless it needs to consume traces. It's good to see that your cluster can definitely log now.
I don't follow what you did between your "Unfortunately, it still doesn't work :(" comment and "Now with the added Trace Agent" - was that just a matter of waiting a few minutes for the permissions to take hold? Or do you mean that the manual tracing step still doesn't work, but those new traces have appeared independently?
Is the manual trace code (calling the PatchTraces method in your controller) working now?
I notice there are two different service accounts you've shown in your comments - one ends with<EMAIL_ADDRESS>and the other ends with<EMAIL_ADDRESS>I don't understand which one is which - could you clarify please?

I'm sorry if i wasn't clear ...
With the Trace Agent Role added, i've got the following result:

The manual Trace code (calling the PatchTraces method in the controller) does to work, it gets the same error as before: "Grpc.Core.RpcException: Status(StatusCode=PermissionDenied, Detail="The caller does not have permission" (Please see the full log above),
Although the Manual Trace do not work, for each method invocation, there is a Trace that is generated for ApiValuesByIdGet (Please see the image presented by the Trace UI above).

Regarding the different services accounts: we generate the Cluster infrastructure, service accounts, etc, using Terraform + Helm. To make sure the Service account was properly configured, instead of just add the Role, i deleted the full Infrastructure, added the Role via Terraform, and created the infrastructure again. Every time the full infrastructure is created, it creates a new Service Account.

Hmm. It's possible that this is a difference in how the GKE authentication is performed. Could you let me know what your equivalent of the details below are like?

I've requested the help of a team member that created the Infrastructure in Terraform, and i was incorrectly setting the Cloudtrace Agent Role. After correcting the Terraform scripts, and re-creating the infrastructure, the service now has the Cloudtrace Agent Role correctly configured.
Regarding the Manual Trace, is now Working both on Local Deployment, and on GKE.
Once the Manual Trace was working on GKE, i then reverted the code to use the UseGoogleDiagnostics extension method, and the use of _tracer.startSpan.
            using (_tracer.StartSpan("Tracing ID:" + id))
            {
                _logger.LogInformation("GET Method Invoked with ID:" + id);

                if (id >= 0) return id.ToString();
            }

The first test, was sending all Project_ID, Module_ID and Version_ID:
.UseGoogleDiagnostics("project-id", "diagnostics-test", "v1")

The results, when running on GKE are:

Logging Tracing an error Reporting all Work correctly,
Two types of Tracing appear on the GCP Trace UI:

The operation as a "sub-trace" of ApiValuesByIdGet

The Trace of the GET/{id} operation

The second test, was sending only, Module_ID and Version_ID.
According to the documentation, being deployed in GKE, we should not need the Project_ID.
Please note that the MODULE_ID and VERSION_ID are the same as before:
.UseGoogleDiagnostics(null, "diagnostics-test", "v1")

The results, when running on GKE are:

Logging Works correctly,
Tracing an error Reporting do NOT Work
Only the "sub-trace" of ApiValuesByIdGet appear on the GCP Trace UI.

The third test, was to use the REAL MODULE_ID/Service_Name:
.UseGoogleDiagnostics(null, "my-service-id", "v1")

The results, when running on GKE were the same as the second test:

Logging Works correctly,
Tracing an error Reporting do NOT Work
Only the "sub-trace" of ApiValuesByIdGet appear on the GCP Trace UI.

So, only two options remain:

There is indeed a Bug on the Library
I'm not sending the correct values on MODULE_ID, VERSION_ID.

I've finished work for the day, but I'll look tomorrow. I'm aware of some issues with resource detection in GKE (as linked earlier) but I don't know whether that's what's going wrong. Will look into it more. I'm glad it's working when everything is specified though.

Thank you very much for all the help, if you need any information, please ask!

I've made several new tests, and there seems to be some inconsistencies in the Tracing behavior:

Sometimes, both traces apear, the "sub-trace" and the Operation Trace
Sometimes, only the "sub-trace" appears in the UI.

Here is the Trace list for a set of 3 sequential request, with ID's 16, 17, 18:

Two of the requests (16 and 18) were Traced on the "sub-trace".
One of the requests (17) was traced as the GET Operation.

For all the requests i'm doing, there is a random behavior, sometimes i get both traces, sometimes only the "sub-trace", sometimes only the Operation.
Just to clarify, the Operation is being Traces using the TracerManager:
            using (_tracer.StartSpan("Tracing ID:" + id))
            {
                _logger.LogInformation("GET1 Method Invoked with ID:" + id);
                Task.Delay(2000).Wait();
            }

Is this a correct behavior?
Is this a bug?
I'm a bit lost, without understanding what is the correct behavior for a Tracing Operation.

I think it would be best to focus on one issue at a time - this GitHub issue has meandered over various different topics. I've definitely observed the inconsistency aspect before, but usually when I looked at traces immediately - you may find that if you now look over the traces from yesterday, they're consistent. If they're not, please file a separate issue - which I'd expect to be in the situation of "specifying the project ID, module ID and version explicitly" to isolate this issue from that one.
I'll look into the project ID detection part today.

Hmm. The project ID detection is working okay for me. I've changed my code to use
.UseGoogleDiagnostics(null, "diagnostics-test", "v1")

... and both logging and tracing are working okay. So we still need to work out what's going on here.
I've got one theory - it could be due to the versions of the dependencies involved. Two next steps:

Add this in your Program.Main, right at the start (before CreateWebHostBuilder):

var platform = Google.Api.Gax.Platform.Instance();
Console.WriteLine($"Platform is: {platform}");

Please then deploy and see what's logged.

Update the dependencies.

Keep the code from step 1, but add a new manual dependency on Google.Api.Gax.Grpc version 2.9.0.
I previously had a a project dependency on the source code for Google.Cloud.Diagnostics.AspNetCore in order to diagnose tracing error. This would have meant newer dependencies - I'm trying again with 3.0.0-beta13 now.

Hmm... it's still working for me even with the slightly older dependencies. I'll wait to hear the result of the platform logging. For me, I see the following platform description:
[GKE: ProjectId='[redacted]', ClusterName='web-cluster', HostName='diagnostics-test-b58b97b74-pdt8b', InstanceId='3766454525711957745', Zone='projects/[redacted]/zones/us-central1-a', NamespaceId='default', PodId='diagnostics-test-b58b97b74-pdt8b', ContainerName='']

The container name being missing is due to the GAX issue, but the project ID has been determined correctly, and it's logging and tracing as expected.

Thank you very much once again for your detailed analysis.
Tracing and Logging are indeed working, even when Platform_ID is not sent:
.UseGoogleDiagnostics(null, "diagnostics-test", "v1")

I've made an error interpreting the last results, due to the inconsistency of the way Traces are displayed. I performed the same tests again, this time performing several sequential requests, and all of them where traced (although sometimes displayed as a sub-trace, sometimes as an Operation trace).
Nevertheless, i gather the information you requested.
Case 1:
[GKE: ProjectId='my-project', ClusterName='my-project3-cluster', HostName='my-service-769b6bdc9d-2mnbv', InstanceId='528582748313247073', Zone='projects/127296601443/zones/us-central1-a', NamespaceId='default', PodId='my-service-769b6bdc9d-2mnbv', ContainerName='']

Case 2, after updating Google.Api.Gax.Grpc to version 2.9.0:
Platform is: [GKE: ProjectId='my-project', ClusterName='my-project3-cluster', HostName='my-service-769b6bdc9d-rjgxw', InstanceId='528582748313247073', Zone='projects/127296601443/zones/us-central1-a', NamespaceId='default', PodId='my-service-769b6bdc9d-rjgxw', ContainerName='']

Once again, thank you very much for all the help you provided.
As Tracing is indeed working, please close this issue.

Hooray! I'm really glad we got there in the end. Thanks for all your patience :)


Envar not working

Hey
tried to get envar working with:
greybel --env-vars=random=bla src/cmd.src .
and also by using env files:
greybel src/cmd.src . -ev local.conf
local.conf
# MY COMMENT
random=SOME_VALUE

cmd.src
...
somevar = #envar random;
...

Build result
globals.H=globals
MODULES={}
EXPORTED={}
__REQUIRE=function(r)
if not MODULES.hasIndex(r) then
exit((("Module " + r) + " cannot be found..."))
end if
module=MODULES[r]
return @module(r).exports
end function
MAIN=function()
ENV={}
somevar=null
print("\x90     ")
print("\x90     n0p")
print("\x90     ")
print(somevar)
end function
MAIN()

Any idea why that is only return "null" on build?

After some investigation and debugging there is a finding.
The transpiler does not forward the options to the parser.
https://github.com/ayecue/greybel-transpiler/blob/master/src/transpiler.ts#L86
Fixed it by replacing
		const targetParseResult: TargetParseResult = await target.parse({
			disableLiteralsOptimization: me.disableLiteralsOptimization,
			disableNamespacesOptimization: me.disableNamespacesOptimization
		});

with
		const targetParseResult: TargetParseResult = await target.parse(me);

You are right. Looks like I've missed that.
Your patch looks alright at first glance. I'll have deeper look tomorrow.

Okay the issue should be fixed with https://github.com/ayecue/greybel-js/commit/e47e653c250b0e319bd00b4a60779a92c64d83fa.
Turns out that the envars map wasn't just passed to the target class incorrectly but also to the parser instance from greybel-core. To prevent future mistakes I've also added a test case for it.
Thanks for reporting. :)
I'll keep the issue open for now until you have also checked it on your side.

Hey ayecue, checked out the new version and it works!
There is one more thing I noticed.
I don't know if we could fix that within this issue or should create a new one for it.
Right now I got the ENV implementation in my actual entry src file. Which works now.
Example:
cmd.src (which is build target)
Framework.ENV.Mode = #envar MODE; // local or remote

When I put that in any file which will be merged ob build time. Meaning #include env;
Having the same line in there produces
Framework.ENV.Mode = null;

Any idea if that could be an easy fix or does that need more brain being able to make that recursive.
I don't think it's really a deal breaker with that feature. But having all env related stuff injected in another file would be nice. :-)

Nice good to hear.
Thanks for reporting. I thought I've added support for it at some point. Seems like I didn't. The passing of the environment variables map right now is a little bit dirty in the transpiler. Something I have to clean up in the future when there is time.
Anyway I've did a few changes to the code in the transpiler. Greybel should now support #envar somevar; in includes and imports. I've also added a test case to make sure this works in the future as well.
Please give it a try if it works for you as well.
I'll keep the issue open until you've checked it on your side as well.

Works like a charm! Thank you for working on this. I love to develop outside of greyhack as it's much more convinient and greybel is an insane improvement on that.
Closing this issue now. Fixed and better than before. 👍🏼


Test  pebbledb with cosmos node

try light node with pebble db

Set up node from state-sync at eth-api.


Theming tabs

Tabs cannot be customized to have a different background, ripple and text color or it's not clear how to do it
Which versions of Angular, Material, OS, TypeScript, browsers are affected?
Angular 4, Material latest

Closing this issue as it does not follow the issue template. Please file a new issue that follows the template, which gives the team the information needed to investigate.


Running multiple instances

Describe the bug
In docker-compose, I have made two instances of speedtest-tracker in a docker-compose:
speedtest-tracker:
      container_name: speedtest_tracker
      ports:
          - 6543:80
          - 6443:443
      environment:
          - PUID=1000
          - PGID=1000
      volumes:
          - ./speedtest-tracker:/config
      image: ghcr.io/alexjustesen/speedtest-tracker:latest
      restart: unless-stopped

speedtest-tracker-gluetun:
      container_name: speedtest_tracker_gluetun
      environment:
          - PUID=1000
          - PGID=1000
      volumes:
          - ./speedtest-tracker-gluetun:/config
      image: ghcr.io/alexjustesen/speedtest-tracker:latest
      network_mode: service:gluetun
      restart: unless-stopped

One of them is to report the speed of my home network, while the other is to report the speed of my home network via some VPN configured in gluetun.  It works quite well, with both instances accessible via their respective http(s) ports.  When I open both instances at the same time, the web browser forces me to refresh the webpage of one of the instances, and proceeds to log me out of that instance.  It then takes a couple of tries to re-log back into that instance, before one of the instances again logs out.  The problem only happens if I open both instances.
I assume this is a bug?
Expected behaviour
Not get logged out when opening 2 instances.
or
I guess a workaround would be if somehow the one instance was able to check the speed of both networks, but this sounds like it'd be a lot of work.
Environment

OS: Manjaro
Architecture: amd64
Browser: Chrome

I run two instances (local and vpn) as well and ran into this also until I put them behind nginx proxy manager.

Do you run them with a shared DB or separate?

I just used the default settings, so I assume they're running with a shared DB?  From the installation page, it's unclear to me whether one can use sqlite and have two separate DBs.  I tried adding DB_DATABASE to hopefully use different DB, but it didn't work with sqlite.  Should I be using mariadb or postgres instead?  Or is it possible to make it work with sqlite?

I use what's in the docker-compose I attached.  For one instance I have:
./speedtest-tracker-gluetun:/config
and for the other I have
./speedtest-tracker:/config
so I assume they should be different DBs?

Yeah those are different, I'll dig into it as this might be just a case of the session colliding.

@jtambasco so you're going to want to override the APP_NAME environment variable to prevent the sessions from colliding. I suggest passing the 2nd container something like APP_NAME="Speedtest Tracker for VPN" or something like that.
Source for cookie name which determines session https://github.com/alexjustesen/speedtest-tracker/blob/main/config/session.php#L118-L132


Service Remoting Trace Correlation using Actors

I am trying to get the service remoting correlation to work using actors.
Following the instructions of the README.md it  should be straight forward, but of course there are subtle differences when using Actors instead of stateless services.
On the client side I create a proxy as follows:
string actorUrl = "fabric:/MyApp/MyActor";
Guid id = Guid.NewGuid();
var proxyFactory = new CorrelatingActorProxyFactory(null, callbackClient => new
FabricTransportServiceRemotingClientFactory(callbackClient: callbackClient));
return proxyFactory.CreateActorProxy<TReadModelBuilder>(new Uri(actorUrl), new ActorId(id));

On the Actor side I have an "AiActorService" class that overrides CreateServiceReplicatListeners as follows:
protected override IEnumerable<ServiceReplicaListener> CreateServiceReplicaListeners()
{
	var transportSettings = new FabricTransportRemotingListenerSettings
	{
		EndpointResourceName = "MyActorServiceEndpoint",
	};

	var result = new ServiceReplicaListener[1]
	{
		new ServiceReplicaListener(context => new FabricTransportActorServiceRemotingListener(context, new CorrelatingRemotingMessageHandler(context, this), transportSettings))
	};
	return result;
}

However when using the proxy, i get an exception saying "Interface id {id} is not implemented by object {proxy}"
Now looking at the replica listener the {id} does not correspond with the interface Id I find in the exception, so obviously something is wrong. But reverting back to the "default listener" (i.e. removing the AiActorService and just using the plain old ordinary actor service) everything works just fine.
Either there is something I am doing wrong because I don't understand what i am doing, or there is an issue with listener/proxy implementation.
Anyone who have got this working, or otherwise might be able to shed some light on this is appreciated.

On the client side, you should pass in a service context object to CorrelationActorProxyFactory. Without it, you lose a lot of contextual information, such as service name, about the traces logged by the client.
On the actor side, try calling the CorrelatingRemotingMessageHandler constructor that takes the ActorService, which in you case it's just "this". It will pull out the service context from the actor service. The other constructor you are calling, that takes ServiceContext and IService, should be used only for non-actor services.

Hi Esben,
I assume my response answered your question. If not, feel free to reactivate this issue.


[Feature] Automated weekly releases

At the moment a merged pull request no longer triggers a new release, only when a new tag is created a new release is triggered. So the suggestion would be to create a Github action which creates a new tag every week to update the containers. While this might not change the specified dependencies, it can still change the dependencies which we do not explicitly specify.

@niklassiemer Do you want to take a look at this?


how to fetch the previously selected field value?

Problem Description
I want to create a custom field in custom divi module depending on the previously selected field value. I am stuck in how to fetch the previously selected field value
Steps To Reproduce
what I want is in the custom divi module which I created say there is one select dropdown field with name field_1 and depending on that field I want to populate my custom field...how will I get the field_1 props value in Custom field jsx file?

@rajdeep2304, Do you still need assistance with this issue? Do you have that code snippet? Could you please share the code with me?


We have secrets already available which you can see here:
https://github.com/kedacore/http-add-on/blob/main/.github/workflows/build_release.yml#L19-L21
Relates to #995
Relates to https://github.com/kedacore/governance/issues/16

Since this is in the Makefile, would you be up for doing this @zroubalik?

Can we squeeze it in for our next release?


In prepare: Trying to enable: Prepare is confusing at best

My plan contains prepare: how: ansible and tmt run prints
prepare
        Trying to enable: Prepare
        Trying to enable: Prepare

Could it be changed into more informative text? I believe one is 'require & beakerlib' installation, the other is my own prepare (ansible). If that is true then I would expect text as
prepare
   Trying to enable: Installing steps requires
   Trying to enable: Ansible with playbook XXXXX

I'll take care of this as part of the prepare step conversion into a dynamic plugin.

Here's an example output for the /plans/helps plan setup:
prepare
    how: shell
    script: sudo dnf install -y 'dnf-command(copr)'
    script: sudo dnf copr enable -y psss/tmt
    script: sudo dnf install -y tmt
    summary: 1 preparation applied

Now with debug level one:
prepare
    workdir: /var/tmp/tmt/run-447/plans/helps/prepare
    how: shell
    script: sudo dnf install -y 'dnf-command(copr)'
        Execute command 'sudo dnf install -y 'dnf-command(copr)'' on guest '<IP_ADDRESS>'.
    script: sudo dnf copr enable -y psss/tmt
        Execute command 'sudo dnf copr enable -y psss/tmt' on guest '<IP_ADDRESS>'.
    script: sudo dnf install -y tmt
        Execute command 'sudo dnf install -y tmt' on guest '<IP_ADDRESS>'.
    summary: 1 preparation applied
    status: done

Debug level two:
prepare
    workdir: /var/tmp/tmt/run-448/plans/helps/prepare
    how: shell
    script: sudo dnf install -y 'dnf-command(copr)'
        Execute command 'sudo dnf install -y 'dnf-command(copr)'' on guest '<IP_ADDRESS>'.
        Run command 'ssh -oStrictHostKeyChecking=no -oUserKnownHostsFile=/dev/null -i /home/psss/.ssh/1minutetip_rsa<EMAIL_ADDRESS>sudo dnf install -y 'dnf-command(copr)''.
    script: sudo dnf copr enable -y psss/tmt
        Execute command 'sudo dnf copr enable -y psss/tmt' on guest '<IP_ADDRESS>'.
        Run command 'ssh -oStrictHostKeyChecking=no -oUserKnownHostsFile=/dev/null -i /home/psss/.ssh/1minutetip_rsa<EMAIL_ADDRESS>sudo dnf copr enable -y psss/tmt'.
    script: sudo dnf install -y tmt
        Execute command 'sudo dnf install -y tmt' on guest '<IP_ADDRESS>'.
        Run command 'ssh -oStrictHostKeyChecking=no -oUserKnownHostsFile=/dev/null -i /home/psss/.ssh/1minutetip_rsa<EMAIL_ADDRESS>sudo dnf install -y tmt'.
    summary: 1 preparation applied
    status: done
    Write file '/var/tmp/tmt/run-448/plans/helps/prepare/step.yaml'.

And finally debug level three:
prepare
    workdir: /var/tmp/tmt/run-449/plans/helps/prepare
    how: shell
    script: sudo dnf install -y 'dnf-command(copr)'
        Execute command 'sudo dnf install -y 'dnf-command(copr)'' on guest '<IP_ADDRESS>'.
        Run command 'ssh -oStrictHostKeyChecking=no -oUserKnownHostsFile=/dev/null -i /home/psss/.ssh/1minutetip_rsa<EMAIL_ADDRESS>sudo dnf install -y 'dnf-command(copr)''.
        err: Warning: Permanently added '<IP_ADDRESS>' (ECDSA) to the list of known hosts.
        out: Last metadata expiration check: 0:01:35 ago on St 22. dubna 2020, 04:11:15 EDT.
        out: Package dnf-plugins-core-4.0.13-1.fc31.noarch is already installed.
        out: Dependencies resolved.
        out: Nothing to do.
        out: Complete!
    script: sudo dnf copr enable -y psss/tmt
        Execute command 'sudo dnf copr enable -y psss/tmt' on guest '<IP_ADDRESS>'.
        Run command 'ssh -oStrictHostKeyChecking=no -oUserKnownHostsFile=/dev/null -i /home/psss/.ssh/1minutetip_rsa<EMAIL_ADDRESS>sudo dnf copr enable -y psss/tmt'.
        err: Warning: Permanently added '<IP_ADDRESS>' (ECDSA) to the list of known hosts.
        out: Repository successfully enabled.
    script: sudo dnf install -y tmt
        Execute command 'sudo dnf install -y tmt' on guest '<IP_ADDRESS>'.
        Run command 'ssh -oStrictHostKeyChecking=no -oUserKnownHostsFile=/dev/null -i /home/psss/.ssh/1minutetip_rsa<EMAIL_ADDRESS>sudo dnf install -y tmt'.
        err: Warning: Permanently added '<IP_ADDRESS>' (ECDSA) to the list of known hosts.
        out: Copr repo for tmt owned by psss                  25 kB/s | 3.3 kB     00:00
        out: Package tmt-0.14-3.fc31.noarch is already installed.
        out: Dependencies resolved.
        out: Nothing to do.
        out: Complete!
    summary: 1 preparation applied
    status: done
    Write file '/var/tmp/tmt/run-449/plans/helps/prepare/step.yaml'.

Does it look ok to you?

Thank you.
For Debug it looks great, but I think it is too verbose by default
By default (no verbose)
prepare
    how: shell
    summary: 1 preparation applied

Verbose level 1:
prepare
    how: shell
    script: sudo dnf install -y 'dnf-command(copr)'
    script: sudo dnf copr enable -y psss/tmt
    script: sudo dnf install -y tmt
    summary: 1 preparation applied

Good, point! Thanks, will adjust.